php でカールを使用するにはどうすればよいですか?以下の記事ではphpでのcurlの使い方をまとめています。一定の参考値があるので、困っている友達が参考になれば幸いです。
1.curl の概要
Baidu Encyclopedia による説明は、「データ送信アーティファクト」です。では、そのアーティファクトはどこにあるのでしょうか? 情報を検索したところ、curl は URL 構文を使用してブラウザをシミュレートしてデータを送信できることがわかりました。ブラウザをシミュレートするため、さまざまなネットワーク プロトコルをサポートしています。現在、http、https、ftp、gopher、telnet、dict、file、および ldap プロトコルをサポートしています。 libcurl は、HTTPS 認証、HTTP POST、HTTP PUT、FTP アップロード (これは PHP の FTP 拡張機能を使用して実行することもできます)、HTTP フォームベースのアップロード、プロキシ、Cookie、およびユーザー名とパスワードの認証もサポートしています。
PHP で最も一般的に使用されるメソッドは、get リクエストと post リクエストをシミュレートするためにcurl です。
2. 使用方法
(1)curl を使用したい場合、最初のステップは、php でcurl を開き、php 設定ファイル php でそれを見つけることです。 ini extension=php_curl.dll、先頭の「;」を削除します。サーバーを再起動します。 phpinfo() を使用して PHP コードを出力すると、画像内の CURL の説明が正常に開かれたことがわかります。
(2)curl を使用して単純なリクエストを完了する手順は、主に 4 つの主要なステップに分かれています:
初期化、新しい Curl リソースの作成。
URL と対応するオプションを設定します
URL を取得してブラウザに渡します
curl リソースを閉じます。リソースを解放します。
例:
<?php // 创建一个新cURL资源 $ch = curl_init(); // 设置URL和相应的选项 $options = array(CURLOPT_URL => 'http://www.example.com/', CURLOPT_HEADER => false ); curl_setopt_array($ch, $options); // 抓取URL并把它传递给浏览器 curl_exec($ch); // 关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
3.curl 関数
curl_close - cURL セッションを閉じる
curl_copy_handle — cURL ハンドルとそのすべてのオプションをコピーします
curl_errno — 最後のエラー番号を返します
curl_error — を返します現在のセッションの最新のエラーを保護する文字列
curl_escape — 指定された文字列を URL エンコードします
curl_exec — cURL セッションを実行します
curl_file_create — CURLFile オブジェクトを作成します
curl_getinfo — cURL 接続リソース ハンドルに関する情報を取得します
curl_init — cURL セッションを初期化します
curl_multi_add_handle — 個別の Curl ハンドルを Curl バッチ セッションに追加します
curl_multi_close — cURL セッションを終了します グループ cURL handle
curl_multi_exec — 現在の cURL ハンドルのサブ接続を実行します
curl_multi_getcontent — CURLOPT_RETURNTRANSFER が設定されている場合、フェッチされたテキストのテキストを返します出力ストリーム
curl_multi_info_read — 現在解析されている cURL
curl_multi_init — 新しい cURL バッチ ハンドルを返す
curl_multi_remove_handle — Curl バッチ ハンドル リソースのハンドル リソースを削除します
4。例
1.curl を使用してデータを取得します<?php $url = 'http://www.example.com'; //初始化一个 cURL 对象 $ch = curl_init(); //设置你需要抓取的URL curl_setopt($ch, CURLOPT_URL, $url); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否获得跳转后的页面 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $data = curl_exec($ch); curl_close($ch); echo $data; ?>2.curl を使用して投稿し、データを取得します
<?php function curl_post($url, $arr_data){ $post_data = http_build_query($url_data); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFLELDS, $post_data); $data = curl_exec($ch); curl_close($ch); echo $data; } $arr_post = array( 'name'=>'test_name', 'age' => 1 ); curl_post("http://www.explame.com/", $arr_post); ?>3.プロキシを使用してページをクロールしますクロールにプロキシを使用する理由Google を例に挙げると、Google のデータを短期間に頻繁に取得すると、データを取得できなくなります。 Google が IP アドレスを制限している場合は、プロキシを変更して再度クロールできます。
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://google.com"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否通过http代理来传输 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080); //url_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');如果要密码的话,加上这个 $result=curl_exec($ch); curl_close($ch); ?>4. このサイトのセッション呼び出しを継続維持する 同期ユーザーログインの場合、セッションを共有する必要があります。サイトの場合、セッション ID を http に配置する必要があります。 Requesting
<?php $session_str = session_name().'='.session_id().'; path=/; domain=.explame.com'; session_write_close(); //将数据写入文件并且结束session $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIE, $session_str); $ret = curl_exec($ch); curl_close($ch); ?>end
この記事は、https://blog.csdn.net/longgeaisisi/article/details/ から転載されています。 89330576推奨学習:
以上がPHPでcurlを使用するにはどうすればよいですか? (使い方紹介)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。