ta($fp));
printhr();
?? while(!feof($fp)) {
?????? $result .= fgets($fp, 1024);
}
echo "url body:??? $result";
??printhr();
?? fclose($fp);
?? ?>
サンプルコード 3: file_get_contents 関数を使用して、ポストモードで URL
を取得します
??
?? $data = 配列 ('foo' => 'bar');
?? $data = http_build_query($data);
?? $opts = 配列 (
'http' => 配列 (
?? 'メソッド' => 'POST',
??? 'header'=> "コンテンツ タイプ: application/x-www-form-urlencodedrn" .
???? "コンテンツの長さ: " .strlen($data) .
?? 'コンテンツ' =>
?? )、
?? );
$context = stream_context_create($opts);
$html = file_get_contents('http://localhost/e/admin/test.html', false, $context);
echo $html;
?>
サンプルコード 4: fsockopen 関数を使用して URL を開き、ヘッダーとボディを含む完全なデータを get モードで取得します
function get_url ($url,$cookie=false) {
$url = parse_url($url);
$query = $url[パス]."?".$url[クエリ];
ec("クエリ:".$query);
$fp = fsockopen( $url[ホスト], $url[ポート]?$url[ポート]:80 , $errno, $errstr, 30);
if (!$fp) {
?????? false を返します;
} else {
?????? $request = "GET $クエリ HTTP/1.1rn";
?????? $request .= "ホスト: $url[host]rn";
?????? $request .= "接続: 閉じる";
?????? if($cookie) $request.="Cookie:?? $cookien";
?????? $request.="rn";
?????? fwrite($fp,$request);
??????while(!@feof($fp)) {
???????$result .= @fgets($fp, 1024);
??????}
?????? fclose($fp);
?????? $result を返します;
}
}
// URL の HTML 部分を取得し、ヘッダーを削除します
function GetUrlHTML($url,$cookie=false) {
??? $rowdata = get_url($url,$cookie);
??? if($rowdata)
???{
??????? $body= stristr($rowdata,"rnrn");
??????? $body=substr($body,4,strlen($body));
??????? $body を返します;
???}
? ?
??? false を返します;
}
?>
サンプルコード 5: fsockopen 関数を使用して URL を開き、ヘッダーと本文を含む完全なデータを POST モードで取得します
function HTTP_Post($URL,$data,$cookie, $referrer="") {
// 指定された URL を解析します
$URL_Info=parse_url($URL);
// リファラーを構築
if($referrer=="") // 指定されていない場合は、このスクリプトをリファラーとして使用します
$referrer="111";
// $data
から文字列を作成します
foreach($data as $key=>$value)
$values[]="$key=".urlencode($value);
$data_string=implode("&",$values);
// どのポートが必要かを調べます - 指定されていない場合は、標準 (=80) を使用します
if(!isset($URL_Info["port"]))
$URL_Info["ポート"]=80;
// POST リクエストを構築します:
$request.="POST ".$URL_Info["path"]." HTTP/1.1n";
$request.="ホスト: ".$URL_Info["host"]."n";
$request.="リファラー: $referern";
$request.="コンテンツ タイプ: application/x-www-form-urlencodedn";
$request.="コンテンツの長さ: ".strlen($data_string)."n";
$request.="接続: 閉じる";
$request.="Cookie:?? $cookien";
$request.="n";
$request.=$data_string."n";
$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
while(!feof($fp)) {
?????? $result .= fgets($fp, 1024);
}
fclose($fp);
$result を返す;
}
printhr();
?>
サンプル コード 6:curl ライブラリを使用します。curl ライブラリを使用する前に、php.ini をチェックして、curl 拡張機能がオンになっているかどうかを確認する必要がある場合があります
$ch =curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, 'http://www.baidu.com/');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents =curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>
CURL ライブラリについて:
カール公式サイト http://curl.haxx.se/
カール
URL構文を使用したファイル転送ツールで、FTP、FTPS、HTTP HTTPS SCP SFTP TFTP TELNET DICTをサポートしています。
ファイルとLDAP。 curl は SSL 証明書、HTTP POST、HTTP PUT、FTP をサポートします
アップロード、ケルベロス、HTTP ベースのアップロード、プロキシ、Cookie、ユーザー + パスワードの証明、ファイル転送の回復、http プロキシ チャネル、その他の便利なテクニックが多数あります
関数 printarr(array $arr)
{
??? echo "
行フィールド数: ".count($arr)."
";
??? foreach($arr as $key=>$value)
???{
????? ?
?????????? エコー "$key=$value???
";
???}
}
?>