ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して POST をシミュレートしてデータを送信する_PHP チュートリアル

PHP を使用して POST をシミュレートしてデータを送信する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:05:31994ブラウズ

PHP ソケット プログラミングを使用してインターフェイスにデータを直接送信し、ポスト操作をシミュレートします。


/*************************************************** * *******
名前: POST テスト プログラム バージョン: 1.0 日付: 2004-08-05 ************************** * *********************************/
/ $flag = 0;
//投稿するデータ
$argv = array(
'var1'=>'abc',
'var2'=>'こんにちは? ');
//投稿する文字列を構築します
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."="; $params.= urlencode($value);
$flag = 1;
}
$length = strlen($params);
//ソケット接続を作成する
$fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) または exit($errstr."--->".$errno);
//投稿リクエストのヘッダーを構築します
$header = "POST /mobile/try.php HTTP/1.1rn";
$header .= "ホスト:127.0.0.1rn";
$header .= "リファラー:/mobile/sendpost.phprn";
$ header .= "Content-Type: application/x-www-form-urlencodedrn";
$header .= "Content-Length: ".$length."rn";
$header .= "Connection: Closernrn";
/ /投稿文字列を追加
$header .= $params."rn";
//投稿データを送信
fputs($fp,$header);
$inheader = 1;
while (!feof($fp) ) {
$line = fgets($fp,1024); //リクエストパケットのヘッダーを削除し、ページの戻りデータのみを表示します
if ($inheader && ($line == "n" || $line == "rn" )) {
$inheader = 0;
}
if ($inheader == 0) {
echo $line;
}
}
fclose($fp);
?>


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445120.html技術記事 PHP のソケット プログラミングを使用してインターフェイスにデータを直接送信し、事後操作をシミュレートします。 ? /************************************************ ***** ********** 名前: POST テスト プログラム バージョン: 1.0...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。