ホームページ > バックエンド開発 > PHPチュートリアル > PHPのcurlパラメータの詳しい説明と使い方

PHPのcurlパラメータの詳しい説明と使い方

WBOY
リリース: 2016-07-25 08:55:27
オリジナル
1414 人が閲覧しました
  1. $cookie_jar = tempnam('./tmp','cookie');
  2. //login
  3. $c=curl_init('http://login_url?username=...
  4. curl_setopt ($c, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
  6. curl_exec($c);
  7. curl_close($c);
  8. $c="url";
  9. $c=curl_init($ c);
  10. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  11. curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
  12. curl_exec($c);
  13. curl_close($c);
  14. ?>
コードをコピー

2.投稿の使用 注: 投稿データは URL エンコードされている必要があります。

  1. $postdata="user=".urlencode($data);
  2. $c=curl_init($c);
  3. curl_setopt($c, CURLOPT_POST, 1);
  4. curl_setopt($ c, CURLOPT_POSTFIELDS, $postdata);
  5. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  6. curl_exec($c);
  7. curl_close($c);
  8. ?>
コードをコピー

CURLの詳しい説明 curl_close — CURL セッションを閉じる curl_copy_handle — Curl 接続リソースのすべての内容とパラメータをコピーする curl_errno — 現在のセッションのエラー情報を含む数値を返します。 curl_error — 現在のセッションのエラー情報を含む文字列を返します。 curl_exec — Curl セッションを実行する curl_getinfo — CURL 接続リソース ハンドルに関する情報を取得する curl_init — Curl セッションを初期化します

curl_multi_add_handle — 個々の Curl ハンドル リソースを Curl バッチ セッションに追加する curl_multi_close — バッチ ハンドル リソースを閉じる curl_multi_exec — Curl バッチ ハンドルを解析する curl_multi_getcontent — フェッチされた出力のテキスト ストリームを返す curl_multi_info_read — 現在解析されているcurlの関連する送信情報を取得します。 curl_multi_init — Curl バッチ ハンドル リソースを初期化する curl_multi_remove_handle — Curl バッチ ハンドル リソース内のハンドル リソースを削除する curl_multi_select — cURL 拡張子に関連付けられたすべてのソケットを取得し、「選択」できます。 curl_setopt_array — Curl のセッション パラメータを配列として設定する curl_setopt —curl のセッションパラメータを設定する curl_version — CURL 関連のバージョン情報を取得する curl_init() 関数の関数は、curl セッションを初期化します。curl_init() 関数の唯一のパラメータは、URL アドレスを表します。 curl_exec() 関数は、curl セッションの実行に使用されます。唯一のパラメータは、curl_init() 関数によって返されるハンドルです。 curl_close() 関数は、curl セッションを閉じるために使用されます。唯一のパラメータは、curl_init() 関数によって返されるハンドルです。

例:

  1. $ch =curl_init("http://bbs.it-home.org/");
  2. curl_exec($ch);
  3. curl_close($ch);
  4. ?>
コードをコピー

curl_version() 関数の機能: curl 関連のバージョン情報を取得します。curl_version() 関数にはパラメータがあります。

例:

  1. print_r(curl_version())
  2. ?>
コードをコピー

curl_getinfo() 関数の機能は、curl 接続リソース ハンドルの情報を取得することです。 () 関数には 2 つのパラメータがあります。最初のパラメータはcurlのリソースハンドルで、2番目のパラメータは次の定数です。

  1. $ch =curl_init("http://bbs.it-home.org/");
  2. print_r(curl_getinfo($ch));
  3. ?>
コピーコード

オプションの定数には以下が含まれます: CURLINFO_EFFECTIVE_URL 最後の有効な URL アドレス

CURLINFO_HTTP_CODE 最後に受信したHTTPコード

CURLINFO_FILETIME リモートからドキュメントを取得するまでの時間。取得できなかった場合の戻り値は「-1」です

CURLINFO_TOTAL_TIME 最後の転送にかかった時間

CURLINFO_NAMELOOKUP_TIME 名前解決に費やした時間

CURLINFO_CONNECT_TIME 接続の確立にかかる時間

CURLINFO_PRETRANSFER_TIME 接続確立から転送準備までにかかる時間

CURLINFO_STARTTRANSFER_TIME 接続確立から転送開始までの経過時間

CURLINFO_REDIRECT_TIME トランザクション転送が開始されるまでのリダイレクトに費やされた時間

CURLINFO_SIZE_UPLOAD アップロードされたデータの合計値

CURLINFO_SIZE_DOWNLOAD ダウンロードしたデータの合計値

CURLINFO_SPEED_DOWNLOAD 平均ダウンロード速度

CURLINFO_SPEED_UPLOAD 平均アップロード速度

CURLINFO_HEADER_SIZE ヘッダー部分のサイズ

CURLINFO_HEADER_OUT リクエストされた文字列を送信します

CURLINFO_REQUEST_SIZE HTTP リクエスト内の該当のリクエストのサイズ

CURLINFO_SSL_VERIFYRESULT CURLOPT_SSL_VERIFYPEER の設定によって要求された SSL 証明書検証の結果

CURLINFO_CONTENT_LENGTH_DOWNLOAD Content-Length: フィールドから読み取られたダウンロード コンテンツの長さ

CURLINFO_CONTENT_LENGTH_UPLOAD コンテンツのサイズをアップロードする手順

CURLINFO_CONTENT_TYPE ダウンロードされたコンテンツの「Content-Type」値、NULL は、サーバーが有効な「Content-Type: header」を送信しなかったことを意味します

curl_setopt() 関数は、curl のセッションパラメータを設定するために使用されます。 curl_setopt_array() 関数は、curl のセッション パラメータを配列形式で設定するために使用されます。

例:

  1. $ch =curl_init();
  2. $fp = fopen("example_homepage.txt", "w");
  3. curl_setopt($ch, CURLOPT_FILE, $fp);
  4. $options = array(
  5. CURLOPT_URL => 'http://bbs.it-home.org/',
  6. CURLOPT_HEADER => false
  7. );
  8. curl_setopt_array($ch, $options);
  9. curl_exec($ch);
  10. curl_close($ch);
  11. fclose($fp);
  12. ?>
コードをコピー

設定できるパラメータは次のとおりです。 CURLOPT_AUTOREFERER ヘッダーにリファラー情報を自動設定します

CURLOPT_BINARYTRANSFER CURLOPT_RETURTRANSFER が有効な場合、データが取得されて返されます

CURLOPT_COOKIESESSION 有効にすると、curl は 1 つのセッション Cookie のみを渡し、他の Cookie を無視します。デフォルトでは、curl はすべての Cookie をサーバーに返します。セッション Cookie は、サーバー側のセッションが有効かどうかを判断するために使用される Cookie を指します。

CURLOPT_CRLF 有効にすると、Unix 改行文字が復帰文字と改行文字に変換されます。

CURLOPT_DNS_USE_GLOBAL_CACHE

有効にすると、グローバル DNS キャッシュが有効になり、デフォルトは true になります。

CURLOPT_FAILONERROR

HTTP ステータス コードを表示します。デフォルトの動作では、400 以下の数値を持つ HTTP 情報を無視します

CURLOPT_FILETIME

有効にすると、リモートドキュメント内の情報の変更が試行されます。結果情報は、curl_getinfo() 関数の CURLINFO_FILETIME オプションを通じて返されます。

CURLOPT_FOLLOWLOCATION

有効にすると、サーバーから返される「Location:」がヘッダーに配置され、CURLOPT_MAXREDIRS を使用して再帰的な戻りの数を制限します。

CURLOPT_FORBID_REUSE

インタラクション完了後に強制的に切断され、再利用することはできません。

カールオプト_フレッシュ_コネクト

キャッシュ内の接続を置き換えるために新しい接続を強制的に取得します。

CURLOPT_FTP_USE_EPRT

アクティブな FTP ダウンロードを実行するときに EPRT (および LPRT) を使用する場合は TRUE。EPRT と LPRT を無効にして PORT のみを使用する場合は FALSE を使用します。

PHP 5.0.0.で追加されました

CURLOPT_FTP_USE_EPSV

PASV に戻す前に、まず FTP 転送の EPSV コマンドを試行する場合は TRUE。EPSV を無効にするには、FALSE に設定します。

CURLOPT_FTPAPPEND

リモート ファイルを上書きするのではなく追加する場合は TRUE。

CURLOPT_FTPASCII

CURLOPT_TRANSFERTEXT のエイリアスを代わりに使用してください。

CURLOPT_FTPLISTONLY

FTP ディレクトリの名前のみをリストする場合は TRUE。

CURLOPT_HEADER

有効にすると、ヘッダーファイル情報がデータストリームとして出力されます。

CURLOPT_HTTPGET

有効にすると、HTTP メソッドは GET に設定されます。GET がデフォルトであるため、変更された場合にのみ使用されます。

CURLOPT_HTTPPROXYTUNNEL

有効にすると、HTTP プロキシ経由で送信されます。

CURLOPT_MUTE

curl 関数内の変更されたパラメータをすべてデフォルト値に戻します。

CURLOPT_NETRC

接続が確立されたら、~/.netrc ファイルにアクセスして、リモート サイトに接続するためのユーザー名とパスワード情報を取得します。

CURLOPT_NOBODY

有効にすると、HTMLのボディ部分が出力されなくなります。

CURLOPT_NOPROGRESS

有効な場合、curl 転送の進行状況バーを閉じます。この項目のデフォルト設定は true です。

CURLOPT_NOSIGNAL

有効にすると、curl によって php に渡されるすべてのシグナルを無視します。この項目は、SAPI マルチスレッド送信時にデフォルトでオンになります。 カールプト_ポスト

有効にすると、フォーム送信と同様に、タイプ: application/x-www-form-urlencoded の通常の POST リクエストが送信されます。 カールプト_プット

有効にすると HTTP によるファイルの送信を許可します。CURLOPT_INFILE と CURLOPT_INFILESIZE を同時に設定する必要があります CURLOPT_RETURNTRANSFER

curl_exec() で取得した情報は、直接出力されるのではなく、ファイル ストリームの形式で返されます。 CURLOPT_SSL_VERIFYPEER

FALSE を指定すると、cURL によるピアの証明書の検証が停止されます。CURLOPT_CAINFO オプションを使用して検証する代替証明書を指定することも、CURLOPT_SSL_VERIFYPEER が無効になっている場合は、CURLOPT_SSL_VERIFYHOST を TRUE または FALSE にする必要がある場合もあります。 cURL 7.10 では、デフォルトで TRUE が設定されます。

以降、デフォルトのバンドルがインストールされます。

CURLOPT_TRANSFERTEXT

FTP 転送に ASCII モードを使用する場合は TRUE。Windows システムでは、HTML ではなくプレーン テキストでデータを取得します。

CURLOPT_UNRESTRICTED_AUTH

ドメイン名が変更された場合でも、CURLOPT_FOLLOWLOCATION を使用して生成されたヘッダー内の複数の場所にユーザー名とパスワードの情報を継続的に追加します。

CURLOPT_UPLOAD

有効にするとファイル転送を許可します

CURLOPT_VERBOSE

有効にすると、すべての情報が報告され、STDERR または指定された CURLOPT_STDERR に保存されます

CURLOPT_BUFFERSIZE

キャッシュのサイズはデータが取得されるたびに読み取られ、そのたびにこの値が埋められます。

CURLOPT_CLOSEPOLICY

他にも CURLCLOSEPOLICY_LEAST_RECENTLY_USED または CURLCLOSEPOLICY_OLDEST がありますが、curl はまだサポートしていません。 .

CURLOPT_CONNECTTIMEOUT

接続を開始するまでの待ち時間。0 に設定すると、待ち時間は発生しません。

CURLOPT_DNS_CACHE_TIMEOUT

DNS 情報をメモリに保存する時間を設定します。デフォルトは 120 秒です。

CURLOPT_FTPSSLAUTH

FTP 認証方法 (有効化された場合): CURLFTPAUTH_SSL (最初に SSL を試す)、CURLFTPAUTH_TLS (最初に TLS を試す)、または CURLFTPAUTH_DEFAULT (cURL に決定させる)。

CURLOPT_HTTP_VERSION

curl が使用する HTTP プロトコルを設定します、CURL_HTTP_VERSION_NONE (curl 自身に決定させます)、CURL_HTTP_VERSION_1_0 (HTTP/1.0)、CURL_HTTP_VERSION_1_1 (HTTP/1.1)

CURLOPT_HTTPAUTH 1 2 次のページ 最後のページ



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート