最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php模擬post行為代碼總結(jié)(POST方式不是絕對(duì)安全)

 更新時(shí)間:2012年02月22日 21:11:56   作者:  
GET行為比較簡(jiǎn)單,POST比較復(fù)雜一些
這里提供兩種方法供選擇:第一:手寫(xiě)代碼。第二:利用HttpClient php類庫(kù)
  第一種方法:
復(fù)制代碼 代碼如下:

<?PHP
$flag = 0;
//要post的數(shù)據(jù)
$argv = array(
'var1'=>'abc',
'var2'=>'你好嗎');
//構(gòu)造要post的字符串
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."="; $params.= urlencode($value);
$flag = 1;
}
$length = strlen($params);
//創(chuàng)建socket連接
$fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) or exit($errstr."--->".$errno);
//構(gòu)造post請(qǐng)求的頭
$header = "POST /mobile/try.php HTTP/1.1";
$header .= "Host:127.0.0.1";
$header .= "Referer:/mobile/sendpost.php";
$header .= "Content-Type: application/x-www-form-urlencoded";
$header .= "Content-Length: ".$length."";
$header .= "Connection: Close";
//添加post的字符串
$header .= $params."";
//發(fā)送post的數(shù)據(jù)
fputs($fp,$header);
$inheader = 1;
while (!feof($fp)) {
$line = fgets($fp,1024); //去除請(qǐng)求包的頭只顯示頁(yè)面的返回?cái)?shù)據(jù)
if ($inheader && ($line == "n" || $line == "")) {
$inheader = 0;
}
if ($inheader == 0) {
echo $line;
}
}
fclose($fp);
?>

  第二種方法是:使用httpclient類
復(fù)制代碼 代碼如下:

$pageContents = HttpClient::quickPost('http://example.com/someForm', array(
'name' => 'Some Name',
'email' => 'email@example.com'
));

  使用httpclient類庫(kù),可以去官方下載最新的類庫(kù),官方地址為:http://scripts.incutio.com/httpclient/index.php
  附加一些點(diǎn)php httpclient的其他幾個(gè)用法
  靜態(tài)方法獲取網(wǎng)頁(yè):
復(fù)制代碼 代碼如下:

$pageContents = HttpClient::quickGet('http://bankcha.com')

  Get方法獲取
復(fù)制代碼 代碼如下:

$client = new HttpClient('bankcha.com');
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  帶調(diào)試的Get方法獲取
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->setDebug(true);
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  帶自動(dòng)轉(zhuǎn)向的Get方法
  PHP代碼
  $client = new HttpClient('www.bankcha.com');
$client->setDebug(true);
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  檢查頁(yè)面是否存在
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->setDebug(true);
if (!$client->get('/thispagedoesnotexist')) {
die('An error occurred: '.$client->getError());
}
if ($client->getStatus() == '404') {
echo 'Page does not exist!';
}
$pageContents = $client->getContent();
  偽造客戶端
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->setDebug(true);
$client->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207');
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  登錄驗(yàn)證并請(qǐng)求一個(gè)網(wǎng)頁(yè)
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->post('/login.php', array(
'username' => 'Simon',
'password' => 'ducks'
));
if (!$client->get('/private.php')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  HTTP授權(quán)
  PHP代碼
$client = new HttpClient('bankcha.com');
$client->setAuthorization('Username', 'Password');
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
  輸出頭信息
  PHP代碼
$client = new HttpClient('bankcha.com');
if (!$client->get('/')) {
die('An error occurred: '.$client->getError());
}
print_r($client->getHeaders());
  設(shè)置一個(gè)域內(nèi)重定向最多次數(shù)
  PHP代碼
$client = new HttpClient('www.bankcha.com');
$client->setDebug(true);
$client->setMaxRedirects(3);
$client->get('/');

php fsockopen 偽造 post和get方法
fsockopen 偽造 post和get方法哦,如果你正在找 偽造 post和get方法的php處理代碼這款不錯(cuò)哦。
復(fù)制代碼 代碼如下:

<?php
//fsocket模擬post提交
$purl = "http://localhost/netphp/test2.php?uu=rrrrrrrrrrrr";
print_r(parse_url($url));
sock_post($purl,"uu=55555555555555555");
//fsocket模擬get提交
function sock_get($url, $query)
{
$info = parse_url($url);
$fp = fsockopen($info["host"], 80, $errno, $errstr, 3);
$head = "GET ".$info['path']."?".$info["query"]." HTTP/1.0rn";
$head .= "Host: ".$info['host']."rn";
$head .= "rn";
$write = fputs($fp, $head);
while (!feof($fp))
{
$line = fread($fp,4096);
echo $line;
}
}
sock_post($purl,"uu=rrrrrrrrrrrrrrrr");
function sock_post($url, $query)
{
$info = parse_url($url);
$fp = fsockopen($info["host"], 80, $errno, $errstr, 3);
$head = "POST ".$info['path']."?".$info["query"]." HTTP/1.0rn";
$head .= "Host: ".$info['host']."rn";
$head .= "Referer: http://".$info['host'].$info['path']."rn";
$head .= "Content-type: application/x-www-form-urlencodedrn";
$head .= "Content-Length: ".strlen(trim($query))."rn";
$head .= "rn";
$head .= trim($query);
$write = fputs($fp, $head);
while (!feof($fp))
{
$line = fread($fp,4096);
echo $line;
}
}
?>

相關(guān)文章

最新評(píng)論

广南县| 永福县| 华坪县| 河曲县| 枞阳县| 咸阳市| 当阳市| 栾川县| 德格县| 澄城县| 临安市| 淮滨县| 深圳市| 合江县| 会宁县| 光山县| 壤塘县| 开鲁县| 巧家县| 内丘县| 罗田县| 台山市| 无极县| 冕宁县| 财经| 延长县| 乐业县| 和平区| 贵州省| 榕江县| 孟连| 孝昌县| 祥云县| 绵竹市| 保靖县| 高平市| 卓尼县| 乌鲁木齐县| 满洲里市| 隆安县| 漾濞|