ホームページ php教程 PHP开发 PHP の cURL ライブラリの機能の紹介: Web ページのクローリング、POST データなど

PHP の cURL ライブラリの機能の紹介: Web ページのクローリング、POST データなど

Dec 23, 2016 pm 04:22 PM

リンクからデータを取得する場合でも、XML ファイルを取得してデータベースにインポートする場合でも、単に Web ページのコンテンツを取得する場合でも、cURL は強力な PHP ライブラリです。この記事では主にこのPHPライブラリの使い方について説明します。
cURL設定を有効にする
まず、PHPでこのライブラリが有効になっているかどうかを確認する必要があります。この情報は、php_info()関数を使用して取得できます。

<?php 
phpinfo(); 
?>
ログイン後にコピー

Web ページに次の出力が表示された場合は、cURL ライブラリが有効になっていることを意味します。
これが表示された場合は、PHP を設定してこのライブラリを有効にする必要があります。 Windows プラットフォームを使用している場合、php.ini ファイルの設定を変更し、php_curl.dll を見つけて、前のセミコロンのコメントをキャンセルするだけです。以下に示すように:
//次の
extension=php_curl.dll のコメントを解除します

Linux を使用している場合は、編集時に PHP を再コンパイルする必要があります。— 「--」を追加します。 with-curl」パラメータをconfigureコマンドに追加します。
小さな例
すべての準備ができたら、ここに小さなルーチンがあります:

<?php 
// 初始化一个 cURL 对象 
$curl = curl_init(); 
// 设置你需要抓取的URL 
curl_setopt($curl, CURLOPT_URL, &#39;http://jb51.net&#39;); 
// 设置header 
curl_setopt($curl, CURLOPT_HEADER, 1); 
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
// 运行cURL,请求网页 
$data = curl_exec($curl); 
// 关闭URL请求 
curl_close($curl); 
// 显示获得的数据 
var_dump($data);
ログイン後にコピー

データを POST する方法
上記は Web ページをクロールするコードで、以下は特定の Web ページにデータを POST するコードです。フォーム処理 URL http://www.example.com/sendSMS.php があり、2 つのフォーム フィールド (1 つは電話番号、もう 1 つはテキスト メッセージのコンテンツ) を受け入れることができるとします。

<?php 
$phoneNumber = &#39;13912345678&#39;; 
$message = &#39;This message was generated by curl and php&#39;; 
$curlPost = &#39;pNUMBER=&#39; . urlencode($phoneNumber) . &#39;&MESSAGE=&#39; . urlencode($message) . &#39;&SUBMIT=Send&#39;; 
$ch = curl_init();chain link fencing 
curl_setopt($ch, CURLOPT_URL, &#39;http://www.example.com/sendSMS.php&#39;); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); 
$data = curl_exec(); 
curl_close($ch); 
?>
ログイン後にコピー

上記のプログラムから、GET メソッドの代わりに CURLOPT_POST を使用して HTTP プロトコルの POST メソッドを設定し、CURLOPT_POSTFIELDS で POST データを設定していることがわかります。
プロキシサーバーについて
以下はプロキシサーバーの使用例です。強調表示されたコードに注目してください。コードは非常に単純なので、これ以上説明する必要はありません。

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, &#39;http://www.example.com&#39;); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 
curl_setopt($ch, CURLOPT_PROXY, &#39;fakeproxy.com:1080&#39;); 
curl_setopt($ch, CURLOPT_PROXYUSERPWD, &#39;user:password&#39;); 
$data = curl_exec(); 
curl_close($ch); 
?>
ログイン後にコピー

SSLとCookieについて
ガス発生器のHTTPSプロトコルであるSSLについては、CURLOPT_URL接続のhttp://をhttps://に変更するだけです。もちろん、サイトを検証するために設定できる CURLOPT_SSL_VERIFYHOST というパラメーターもあります。
Cookieについては、次の3つのパラメータを知っておく必要があります:
CURLOPT_COOKIE、対面セッションでCookieを設定します
CURLOPT_COOKIEJAR、セッション終了時にCookieを保存します
CURLOPT_COOKIEFILE、Cookieファイル。
HTTPサーバー認証
最後に、HTTPサーバー認証について見てみましょう。

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, &#39;http://www.example.com&#39;); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt(CURLOPT_USERPWD, &#39;[username]:[password]&#39;) 
$data = curl_exec(); 
curl_close($ch); 
?>
ログイン後にコピー

詳細については、関連する cURL マニュアルを参照してください。

PHP の cURL ライブラリ関数、Web ページのクローリング、POST データ、およびその他の関連記事の詳細については、PHP 中国語 Web サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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