ホームページ >バックエンド開発 >PHPチュートリアル >PHPカールライブラリコードの使用法

PHPカールライブラリコードの使用法

WBOY
WBOYオリジナル
2016-06-23 13:48:33974ブラウズ

私の元のアドレスへようこそ: http://www.php Thinking.com/archives/468

PHP の cURL ライブラリを使用して、Web ページを簡単かつ効果的にキャプチャします。スクリプトを実行して、クロールした Web ページを分析するだけで、必要なデータをプログラムで取得できます。リンクから部分データを取得する場合でも、XML ファイルを取得してデータベースにインポートする場合でも、単に Web ページのコンテンツを取得する場合でも、cURL は強力な PHP ライブラリです。この記事では主にこのPHPライブラリの使い方について説明します。

cURL 設定を有効にする
まず、PHP でこのライブラリが有効になっているかどうかを確認する必要があります。この情報は、php_info() 関数を使用して取得できます。

phpinfo()

?>

Web ページに次の出力が表示される場合, これは、cURL ライブラリが有効になっていることを意味します。

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

extension=php_curl.dll Linux を使用している場合は、コンパイルを再起動する必要があります。 PHP を編集する場合は、コンパイル パラメータをオンにし、configure コマンドに「?with-curl」パラメータを追加する必要があります。

//下のコメントをキャンセル

小さな例 すべての準備ができたら、次の小さなルーチンを示します:


// cURL オブジェクトを初期化します

$カール=curl_init();

//クロールする必要があるURLを設定しますCurl_setopt($ curl、curlopt_url、 'http://coolshell.cn' //セットヘッダー

curl_setopt($ curl、curlopt_ header , 1);

// 結果を文字列で保存するか画面に出力するように cURL パラメータを設定します。

curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1);

// cURL を実行し、Web ページをリクエストします

$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 つはテキスト メッセージのコンテンツ) を受け入れることができるとします。

$phoneNumber = '13912345678'

$message = 'このメッセージはcurlとphpによって生成されました' ;

$curlPost = 'pNUMBER=' . urlencode( $phoneNumber ) . urlencode( $message ) ;

$ch =curl_init() , ' http://www.example .com/sendSMS.php' );

curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1);

curl_setopt( $ ch , CURLOPT_POSTFIELDS, $curlPost );

$data =curl_exec();

プログラムでは、CURLOPT_POST 設定を使用していることがわかります。 GETメソッドではなくHTTPプロトコルのPOSTメソッドを使用し、CURLOPT_POSTFIELDSでPOSTデータを設定します。

プロキシサーバーについて

下面是一个如何使用代理服务器的示例。请注意其中高亮的代码,代码很简单,我就不用多说了。

$ch =curl_init()

curl_setopt( $ch , CURLOPT_URL、' http://www.example.com ' ); curl_setopt( $ch , CURLOPT_HEADER, 1);

curl_setopt( $ch , CURLOPT_HEADER, 1);

curl_setopt( $ch , CURLOPT_PROXY, '偽プロキシ.com:1080' );

curl_setopt( $ch , CURLOPT_PROXYUSERPWD, 'user:password' );

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 サーバー認証について見てみましょう。

    $ch =curl_init()

    curl_setopt( $ch , CURLOPT_UR L, ' http://www.example.com '); curl_setopt ( $ch , CURLOPT_RETURNTRANSFER, 1);

    curl_setopt( $ch , CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

    curl_setopt(CURLOPT_USERPWD, '[ユーザー名]:[パスワード]' )

    $data =curl_exec();

    curl_close($ch);

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