ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルで Web コンテンツを収集する fsockopen の例

php_PHP チュートリアルで Web コンテンツを収集する fsockopen の例

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

fsockopen は PHP の比較的実用的な関数です。次に、fsockopen 関数を使用して、必要な Web ページを収集するプログラムを紹介します。

使い方
int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);

Webページの収集例

fsockopen( stream_socket_client( に置き換えて、元の fsockopen 関数のポートパラメータ「80」を削除し、$host に追加します。
コードは以下の通りです コピーコード

function get_url ($url,$cookie=false)
{
$url = parse_url($url);
$query = $url[path]."?".$ url[クエリ];
echo “クエリ:”.$query;
$fp = fsockopen( $url[ホスト], $url[ポート]?$url[ポート]:80 , $errno, $errstr, 30);
if (!$fp ) {
return false;
} else {
$request = “GET $query HTTP/1.1rn”;
$request .= “ホスト: $url[host]rn”;
$request . = “接続: 閉じる” ;
if($cookie) $request.=”クッキー: $cookien”;
$request.=”rn”;
fwrite($fp,$request);
while(!@feof( $fp)) {
$result .= @fgets($fp, 1024);
}
fclose($fp);
return $result;
}
}
// URL の HTML 部分を取得し、 header
function GetUrlHTML($url,$cookie=false)
{
$rowdata = get_url($url,$cookie);
if($rowdata)
{
$body= stristr($rowdata,"rnrn");
$body=substr($body, 4,strlen($body));
return $body;
}

return false;
}
?> 代わりに、stream_socket_client() などの他の関数を使用してください。注: stream_socket_client() と fsockopen() のパラメータは異なります。

コードは次のとおりです

コードをコピーします

$ fp = fsockopen($host, 80, $errno, $errstr, 30);or変更後: または $fp = stream_socket_client("tcp://".$host.":".$ポート、$errno、$errstr、$connection_timeout);http://www.bkjia.com/PHPjc/444623.html
$fp = fsockopen($host, $port, $errno, $errstr, $connection_timeout);$ fp = stream_socket_client("tcp://".$host."80", $errno, $errstr, 30);







www.bkjia.com本当
http://www.bkjia.com/PHPjc/444623.html

技術記事 fsockopen は PHP の比較的実用的な関数です。次に、fsockopen 関数を使用して、必要な Web ページを収集するプログラムを紹介します。 使用法 int fsockopen(string hostn...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。