ホームページ >バックエンド開発 >PHPチュートリアル >POSTをシミュレートする2つの方法を詳しく解説_PHPチュートリアル

POSTをシミュレートする2つの方法を詳しく解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:06:50994ブラウズ

1.curl関数を使用してコードをコピーします

コードは次のとおりです:
$post_data = array();
$post_data['clientname'] = "test08";
$post_data ['clientpasswd '] = "test08";
$post_data['submit'] = "送信";
$url='http://xxx.xxx.xxx.xx/xx/xxx/top.php';
$o= "";
foreach ($post_data as $k=>$v)
{
$o.= "$k=".urlencode($v)."&";
}
$post_data=substr ($o ,0,-1);
$ch =curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url );
//Cookie をサポートするため
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result =curl_exec($ch);



2. fsockopen を渡します
コードをコピーします コードは次のとおりです。
$URL='http://xxx.xxx.xxx.xx/xx/xxx/top.php';
$post_data['clientname'] = "test08";
$post_data['clientpasswd'] = "test08";
$post_data['submit'] = "ログイン";
$referrer="";
// 解析中指定された URL
$URL_Info=parse_url ($URL);
// リファラーを構築します
if($referrer=="") // 指定されていない場合は、このスクリプトをリファラーとして使用します
$referrer=
{1} 


SERVER["SCRIPT_URI"] // $dataforeach($post_data as $key=>$value)$values[]=" から文字列を作成します。 $key=".urlencode($ value); $data_string=implode("&",$values);// 必要なポートを調べます - 指定されていない場合は、standard (=80)if(!isset($URL_Info[ "port"]))$URL_Info ["port"]=80;//
POST-request:$request.="POST ".$URL_Info["path"]." HTTP/1.1n";$request を構築しています。 ="ホスト: ".$URL_Info ["host"]."n";$request.="リファラー: $referrern";$request.="コンテンツ タイプ: application/x-www-form-urlencodedn";$ request.="コンテンツの長さ: ".strlen($data_string)."n";$request.="接続:
クローズ";$request.="n";$request.=$data_string."n"; $fp = fsockopen($URL_Info[ "host"],$URL_Info["port"]);fputs($fp, $request);while(!feof($fp)) { $result .= fgets($fp, 128);}fclose($fp );
gt;

gt;


スヌーピークラス (2)

sourceforge.net/projects/snoopy/


http://www.redalt.com/xref/trunk/nav.htm?wp-includes/class-snoopy.php.htm

HTTP クラス (1,2)


http://www.phpclasses.org/browse/download/1/file/5/name/http.php

PEAR HTTP_Request


http://pear.php.net/package/HTTP_Request


人気: 70%




http://www.bkjia.com/PHPjc/327596.html

tru​​ehttp://www.bkjia.com/PHPjc/327596.html技術記事 1.curl 関数を使用してコードをコピーします。 $post_data = array(); $post_data['clientpasswd'] = "test08"; '送信'] = "送信";...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。