php教程 fsockopen関数数送信post,get请求获得网页内容(反取集)
$post =1;
$url = parse_url($url);
$host ='http://www.bkjia.com';
$path ='/';
$query ='?action=php100.com';
$ポート =80;
if($post) {
$out = "post $path http/1.0rn";
$out .= "受け入れる: */*rn";
//$out .= "リファラー: $boardurlrn";
$out .= "受け入れ言語: zh-cnrn";
$out .= "コンテンツタイプ: application/x-www-form-urlencodedrn";
$out .= "ユーザーエージェント: $_server[http_user_agent]rn";
$out .= "ホスト: $hostrn";
$out .= 'コンテンツの長さ: '.strlen($post)."rn";
$out .= "接続: 近づく";
$out .= "キャッシュ制御: キャッシュなし";
$out .= "クッキー: $cookiernrn";
$out .= $post;
} その他 {
$out = "$path http/1.0rn を取得";
$out .= "受け入れる: */*rn";
//$out .= "リファラー: $boardurlrn";
$out .= "受け入れ言語: zh-cnrn";
$out .= "ユーザーエージェント: $_server[http_user_agent]rn";
$out .= "ホスト: $hostrn";
$out .= "接続: 近づく";
$out .= "クッキー: $cookiernrn";
}
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
if(!$fp)
{
return '';//$errstr : $errno rn
に注意してください } その他 {
return '成功访问';
}
/*
fsockopen语法
resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )
指定されたホストの電源に接続されているブロックを有効にします。
php ではインターネット ドメインのターゲットがサポートされており、unix ではサポートされているパケット トランスポート リストが説明されています。サポートされているトランスポート リストは、stream_get_transports() を使用して検索することもできます。
この接続はブロックモードで使用されます。stream_set_blocking() を使用して非ブロックモードに切り替えることができます。
上の例が不懂を見て、就来は一つの简の吧
を見てください
*/
if (!$fp) {
エコー「$errstr ($errno)」 ん」;
} その他 {
$out = "get / http/1.1rn";
$out .= "ホスト: www.bkjia.comrn";
$out .= "接続: より近いnrn";
fwrite($fp, $out);
while (!feof($fp)) {
エコー fgets($fp, 128);
}
fclose($fp);
}