PHP は CURL を使用して GET および POST リクエストのステップの例を実装します
Feb 24, 2018 am 09:43 AMCURL は、URL 構文を使用してファイルやデータを転送するツールで、HTTP、FTP、TELNET などの多くのプロトコルをサポートしています。最も優れた点は、PHP が CURL ライブラリもサポートしていることです。 PHP の CURL ライブラリを使用して、Web ページを簡単かつ効果的にスクレイピングします。スクリプトを実行して、クロールした Web ページを分析するだけで、必要なデータをプログラムで取得できます。リンクから部分データを取得する場合でも、XML ファイルを取得してデータベースにインポートする場合でも、単に Web ページのコンテンツを取得する場合でも、CURL は強力な PHP ライブラリです。
PHPでCURLリクエストを確立する基本手順
①: 初期化
curl_init()
②: プロパティを設定
curl_setopt() //有一长串CURL 参数可供设置,它们能指定URL请求的各个细节。
③: 実行して結果を取得
curl_exec()
④: ハンドルを解放
curl_close()
CURL GETとPOSTを実装する
①: GETメソッドを実装する
//初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com'); //设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_HEADER, 1); //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //执行命令 $data = curl_exec($curl); //关闭URL请求 curl_close($curl); //显示获得的数据 print_r($data);
②: POSTメソッドを実装する
//初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com'); //设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_HEADER, 1); //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //设置post方式提交 curl_setopt($curl, CURLOPT_POST, 1); //设置post数据 $post_data = array( "username" => "coder", "password" => "12345" ); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); /执行命令 $data = curl_exec($curl); //关闭URL请求 curl_close($curl); //显示获得的数据 print_r($data);
③: 取得したデータがjson形式の場合は、json_decode関数を使用して解釈しますそれを配列に入れます。
$output_array = json_decode($data,true); // 2 番目のパラメータが true の場合、配列形式に変換されます。記入しない場合はオブジェクト形式になります
json_decode($data) を使って解析するとオブジェクト型のデータが得られます。
カプセル化された関数
//参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies function curl_request($url,$post='',$cookie='', $returnCookie=0){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_AUTOREFERER, 1); curl_setopt($curl, CURLOPT_REFERER, "http://XXX"); if($post) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post)); } if($cookie) { curl_setopt($curl, CURLOPT_COOKIE, $cookie); } curl_setopt($curl, CURLOPT_HEADER, $returnCookie); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); if (curl_errno($curl)) { return curl_error($curl); } curl_close($curl); if($returnCookie){ list($header, $body) = explode("\r\n\r\n", $data, 2); preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches); $info['cookie'] = substr($matches[1][0], 1); $info['content'] = $body; return $info; }else{ return $data; } }
これら 2 つの関数は難しくありませんが、それでも学ぶ価値があります。これら 2 つの関数は、インターフェイスを作成するとき、またはインターフェイスを呼び出すときに使用する必要があるためです。
おすすめ関連記事:
phpでTmallとTaobaoの商品データをクロールする方法
以上がPHP は CURL を使用して GET および POST リクエストのステップの例を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
