ホームページ  >  記事  >  バックエンド開発  >  PHPカールを使用してブラウザをシミュレートしてWebサイト情報を取得する_PHPチュートリアル

PHPカールを使用してブラウザをシミュレートしてWebサイト情報を取得する_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:25:431208ブラウズ

公式説明
curl は、URL 構文を使用してコマンド ライン モードで動作するファイル転送ツールです。 Curl は、URL 構文を使用してコマンド ライン モードで動作するファイル転送ツールです。
多くのプロトコルをサポートしています: FTP、FTPS、HTTP、HTTPS、GOPHER、TELNET、DICT、FILE、LDAP。また、curl は、HTTPS 認証、HTTP POST メソッド、HTTP PUT メソッド、FTP アップロード、ケルベロス認証、HTTP アップロード、プロキシ サーバー、Cookie、ユーザー名/パスワード認証、ダウンロード ファイルの再開可能なアップロード、
アップロード ファイルの再開可能なアップロード、http プロキシ トンネリングもサポートしています。 IPv6、socks5 プロキシ サーバー、http プロキシ サーバー経由での FTP サーバーへのファイルのアップロードなどをサポートしています。非常に強力です。

curl解説1

curl関数をPHPに応用する
要するに、全部で4つのステップです
curl_init();
curl_setopt();
curl_exec();
curl_close();

最も重要なコマンドはcurl_setoptです() ;

簡単な投稿リクエストの例
index.php

コードをコピーします コードは次のとおりです:

$url = "http://www.mytest.com /curl/login.php"; //リクエストされた URL アドレス
$user = "zkg111"; //ユーザー名
$pass = "123456";
$postdata = "user_name=".$user."&password=".$ pass; / /リクエストされたデータ、symbolで区切られます
$curl =curl_init(); //curl_setopt($curl, CURLOPT_URL, $url); //リクエストアドレスを設定します
curl, CURLOPT_RETURNTRANSFER, 1 ); / / 1 を出力するか true を出力しないか、false を出力するか
curl_setopt($curl, CURLOPT_POST, 1) // post メソッドを使用してリクエストするかどうか
curl_setopt($curl, CURLOPT_POSTFIELDS, $ postdata); //データを投稿


echo $data =curl_exec($curl); //curl 操作を実行します
curl_close($curl);
?>

これは簡単な例です。ブラザーズ フォーラムのバンド オブ ブラザーズ フォーラムをシミュレートしました。 ログインする必要がある場合は、原則は同じで、ページを転送し、データを送信します。 特別な注意は、Cookie 保存ディレクトリが ./temp ディレクトリにある必要があることです。 Windows 7。最初は自分で新しいフォルダーを作成しましたが、保存は正しいですが、Cookie が正しく読み取られないことがわかりました。いろいろな場所で質問しましたが、正解はありません。数日間苦労しました。ファイルを ./temp ディレクトリに保存する時間を他の人に伝えてください。私のようにいじらないでください



コードをコピーしてください
コードは次のとおりです:$url = "http://bbs.lampbrother.net/login.php";
$urls = "http://bbs.lampbrother.net";
$lgt = 0;
$user = "XXXX";
$pass = "XXXX";
$question = 0;
$hideid = 1;
$cookie_file = tempnam ('./temp','cookie');
$postdata = "forward=&jumpurl=".$urls."&step =2&lgt=".$lgt."&pwuser=".$user."&pwpwd=".$ pass."&question=".$question."&answer=&hideid=".$hideid;
$ch =curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0) ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($チャンネル, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true);
$data =curl_exec($ch);
curl_close($ch);
// echo $data;
$ch =curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://bbs.lampbrother.net/');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch 、CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_exec($ ch);
curl_close($ch);
?>



http://www.bkjia.com/PHPjc/824976.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/824976.html技術記事公式の説明では、curl は URL 構文を使用してコマンド ライン モードで動作するファイル転送ツールであるとされています。 Curl は、URL 構文を使用してコマンド ライン モードで動作するファイル転送ツールです。 とても応援しています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。