1. cURL リクエストの基本手順:
(1)初期化
(2) URL
などのオプションを設定します
(3) HTML文書の内容を実行して取得する
(4) cURL ハンドルを解放
//2. URL を含むオプションを設定します
curl_setopt($ch, CURLOPT_URL, "http://www.cnblogs.com/it-cen/");
//curl_exec() で取得した情報を直接出力するのではなく、ファイル ストリームの形式で返します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//ヘッダファイル情報は起動時にデータストリームとして出力されます
curl_setopt($ch, CURLOPT_HEADER, 1);
//3. HTML ドキュメントのコンテンツを実行して取得します
curl_exec($ch);
//4. ハンドルを解放します
curl_close($ch);
echo $ch;
?>
注: 2 番目のステップが最も重要で、curl_setopt() 関数です
エラーをチェックするステートメントを追加できます。ここでは空の出力とブール値 false を区別するために「===false」が使用されていることに注意してください。
';<br> print_r($info); echo '';
画像を取得する例を見てみましょう:
コードをコピー
//1. 初期化
$ch =curl_init();
//2. URL を含むオプションを設定します
curl_setopt($ch, , CURLOPT_URL, "http://img04.taabaocdn.com/tfscom/TB1omaTHXXXXXajXVXXtKXbFXXX.png");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
//3. コンテンツを実行して取得します
$res =curl_exec($ch);
//情報を取得します
$info =curl_getinfo($ch);
//4. リソースを解放します
curl_close($ch);
file_put_contents("d:/aa.png", $res);
$size = filesize("d:/aa.png");
if ($size != $info['size_download']) {
echo "ダウンロードしたデータは不完全です。もう一度ダウンロードしてください。";
} else {
echo "データのダウンロードが完了しました";
}
?>
3. POST メソッドを使用して cURL
でデータを送信します
$data = array('name'=>'kelly', 'age'=>27, 'sex'=>1);
curl_setopt($ch, CURLOPT_URL, "http://localhost.post.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//投稿に設定します
curl_setopt($ch, CURLOPT_POST, 1);
//
を post 変数に追加します
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
$res =curl_exec($ch);
curl_close($ch);
echo $res;
?>
この方法を使用して、メッセージを残すことをシミュレートすることも、水を入れるロボットに座ることもできます。
4. cURL を使用してファイルをアップロードします
$ch =curl_init();
curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/Socket/upload_file.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$res =curl_exec($ch);
curl_close($ch);
echo $res;
?>
注: ファイルを送信するときは、ファイル名の前に @ を付け、フルパスを使用してください
5. cURL設定項目
実際、cURL には多くの設定オプションがあります。これらのオプションは、setopt() を通じて設定されます。これが読者の役に立つことを願っています。今後は cURL を使用してください:
CURLOPT_AUTOREFERER: location: に基づいてリダイレクトする場合、ヘッダーに Referer: 情報を自動的に設定します
CURLOPT_COOKIESESSION: 有効にすると、cURL はセッション Cookie を厳密に渡し、他の Cookie を無視します
CURLOPT_HEADER: ヘッダー ファイル情報をデータ ストリームとして出力します
CURLOPT_INFILESIZE: アップロードされるファイルのサイズをバイト単位で設定します
CURLOPT_MAXCONNECTS: 許可される接続の最大数
CURLOPT_MAXREDIRS: HTTP リダイレクトの最大数を指定します
CURLOPT_COOKIE: HTTP リクエストの「cookie:」部分の内容を設定します。複数の cookie の後にセミコロンが続き、セミコロンの後にスペースが入ります。
CURLOPT_POSTFIELDS: すべてのデータは HTTP プロトコルの「POST」操作を使用して送信されます。ファイルを送信するには、ファイル名の前に @ プレフィックスを追加し、フルパスを使用します。
......
より具体的な設定項目については、PHP マニュアルを参照してください
cURL は非常に強力なライブラリであり、PHP に固有のものではありません。
このブログ投稿でいくつかの古典的な cURL の例を学習することで、読者が何かを得られることを願っています。