fsockopen は PHP の比較的実用的な関数です。次に、fsockopen 関数を使用して、必要な Web ページを収集するプログラムを紹介します。
使い方
int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
Webページの収集例
コードは以下の通りです | コピーコード |
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() のパラメータは異なります。
| fsockopen( stream_socket_client( に置き換えて、元の fsockopen 関数のポートパラメータ「80」を削除し、$host に追加します。
例
コードは次のとおりです
コードをコピーします
$ fp = fsockopen($host, 80, $errno, $errstr, 30);or$fp = fsockopen($host, $port, $errno, $errstr, $connection_timeout); | 変更後:$ fp = stream_socket_client("tcp://".$host."80", $errno, $errstr, 30); | または
$fp = stream_socket_client("tcp://".$host.":".$ポート、$errno、$errstr、$connection_timeout);
|
http://www.bkjia.com/PHPjc/444623.html
www.bkjia.com本当
http://www.bkjia.com/PHPjc/444623.html
技術記事 fsockopen は PHP の比較的実用的な関数です。次に、fsockopen 関数を使用して、必要な Web ページを収集するプログラムを紹介します。 使用法 int fsockopen(string hostn...