[Jie Ge が PHP について簡単に語る] 第 15 章 --- cURL を使用して Web コンテンツを取得する
オプション | オプション値値 | 備考 |
CURLOPT_AUTOREFERER | Location: に基づいてリダイレクトする場合、ヘッダーに Referer: 情報が自動的に設定されます。 | |
CURLOPT_BINARYTRANSFER | CURLOPT_RETURNTRANSFER が有効な場合、生の出力を返します。 | |
CURLOPT_COOKIESESSION | 有効にすると、curl は 1 つのセッション Cookie のみを渡し、他の Cookie を無視します。デフォルトでは、curl はすべての Cookie をサーバーに返します。セッション Cookie は、サーバー側のセッションが有効かどうかを判断するために使用される Cookie を指します。 | |
CURLOPT_CRLF | 有効にすると、Unix の改行文字が復帰文字と改行文字に変換されます。 | |
CURLOPT_DNS_USE_GLOBAL_CACHE | 有効にすると、グローバル DNS キャッシュが有効になり、デフォルトで有効になります。 | |
CURLOPT_FAILONERROR | HTTP ステータス コードを表示します。デフォルトの動作では、400 以下の HTTP メッセージが無視されます。 | |
CURLOPT_FILETIME | 有効にすると、リモート ドキュメント内の情報の変更が試行されます。結果情報は、curl_getinfo() 関数の CURLINFO_FILETIME オプションを通じて返されます。 curl_getinfo(). | |
CURLOPT_FOLLOWLOCATION | 有効にすると、サーバーから返される "Location: " がヘッダーに配置され、再帰的に返される回数を制限するために CURLOPT_MAXREDIRS を使用します。 | |
CURLOPT_FORBID_REUSE | インタラクション完了後に強制的に切断され、再利用することはできません。 | |
CURLOPT_FRESH_CONNECT | キャッシュ内の接続を新しい接続に強制的に置き換えます。 | |
CURLOPT_FTP_USE_EPRT | 有効にすると、FTP ダウンロード時に EPRT (または LPRT) コマンドを使用します。 FALSE に設定すると EPRT と LPRT を無効にし、PORT コマンドのみを使用します。 | |
CURLOPT_FTP_USE_EPSV | 有効にすると、FTP 転送中に PASV モードに戻る前に、まず EPSV コマンドが試行されます。 FALSE に設定すると、EPSV コマンドが無効になります。 | |
CURLOPT_FTPAPPEND | 有効にすると、上書きではなくファイルに追加書き込みが行われます。 | |
CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXT のエイリアス。 | |
CURLOPT_FTPLISTONLY | 有効にすると、FTP ディレクトリの名前のみがリストされます。 | |
CURLOPT_HEADER | 有効にすると、ヘッダー ファイル情報がデータ ストリームとして出力されます。 | |
CURLINFO_HEADER_OUT | 有効な場合の追跡ハンドルのリクエスト文字列。 | PHP 5.1.3 以降で利用可能です。 CURLINFO_プレフィックスは意図的なものです。 |
CURLOPT_HTTPGET | 有効にすると、HTTP メソッドは GET に設定されます。GET がデフォルトであるため、変更された場合にのみ使用されます。 | |
CURLOPT_HTTPPROXYTUNNEL | 有効にすると、HTTP プロキシ経由で送信されます。 | |
CURLOPT_MUTE | 有効にすると、cURL 関数で変更されたすべてのパラメーターがデフォルト値に復元されます。 | |
CURLOPT_NETRC | 接続が確立されたら、~/.netrc ファイルにアクセスして、リモート サイトに接続するためのユーザー名とパスワード情報を取得します。 | |
CURLOPT_NOBODY | 有効にすると、HTMLのBODY部分が出力されなくなります。 | |
CURLOPT_NOPROGRESS |
有効にすると、curl 転送のプログレスバーが表示されなくなります。この項目のデフォルト設定は有効です。
|
|
CURLOPT_NOSIGNAL | 有効にすると、curl によって php に渡されるすべてのシグナルを無視します。この項目は、SAPI マルチスレッド送信中にデフォルトで有効になります。 | cURL 7.10 で追加されました。 |
CURLOPT_POST | 有効にすると、フォーム送信と同様に、タイプ application/x-www-form-urlencoded の通常の POST リクエストが送信されます。 | |
CURLOPT_PUT | HTTP によるファイルの送信を許可する場合は、CURLOPT_INFILE と CURLOPT_INFILESIZE の両方を設定する必要があります。 | |
CURLOPT_RETURNTRANSFER | curl_exec() で取得した情報を直接出力するのではなく、ファイル ストリームの形式で返します。 | |
CURLOPT_SSL_VERIFYPEER | 無効にすると、cURL はサーバーからの検証を終了します。 CURLOPT_CAINFO オプションを使用して証明書を設定します。CURLOPT_CAPATH オプションを使用して証明書ディレクトリを設定します。CURLOPT_SSL_VERIFYPEER (デフォルトは 2) が有効な場合、CURLOPT_SSL_VERIFYHOST を設定する必要があります。TRUE に設定します。それ以外の場合は、FALSE に設定します。 | cURL 7.10 以降、デフォルトは TRUE です。 cURL 7.10 以降、バンドルのインストールがデフォルトで行われます。 |
CURLOPT_TRANSFERTEXT | 有効な場合、FTP 転送に ASCII モードを使用します。 LDAP の場合、HTML ではなくプレーン テキスト情報を取得します。 Windows システムでは、システムは STDOUT をバイナリ モードに設定しません。 | |
CURLOPT_UNRESTRICTED_AUTH | ドメイン名が変更された場合でも、CURLOPT_FOLLOWLOCATION を使用して生成されたヘッダー内の複数の場所にユーザー名とパスワードの情報を継続的に追加します。 | |
CURLOPT_UPLOAD | 有効にするとファイルのアップロードを許可します。 | |
CURLOPT_VERBOSE | 有効にすると、すべての情報が報告され、STDERR または指定された CURLOPT_STDERR に保存されます。 |
オプション | オプション値値 | 備考 | |||||||||||||||||||||||
CURLOPT_BUFFERSIZE | キャッシュのサイズは取得されるデータに毎回読み込まれますが、この値が毎回満たされるという保証はありません。 | cURL 7.10 で追加されました。 | |||||||||||||||||||||||
CURLOPT_CLOSEPOLICY | CURLCLOSEPOLICY_LEAST_RECENTLY_USED または CURLCLOSEPOLICY_OLDEST 他に 3 つの CURLCLOSEPOLICY_ がありますが、cURL はまだそれらをサポートしていません。 | ||||||||||||||||||||||||
CURLOPT_CONNECTTIMEOUT | 接続を開始するまでの待機時間。0 に設定すると、無期限に待機します。 | ||||||||||||||||||||||||
CURLOPT_CONNECTTIMEOUT_MS | 接続試行を待機する時間 (ミリ秒単位)。 0 に設定すると、無限に待機します。 | cURL 7.16.2 で追加されました。 PHP 5.2.3 以降で利用可能です。 | |||||||||||||||||||||||
CURLOPT_DNS_CACHE_TIMEOUT | DNS 情報をメモリに保存する時間を設定します。デフォルトは 120 秒です。 | ||||||||||||||||||||||||
CURLOPT_FTPSSLAUTH | FTP 検証方法: CURLFTPAUTH_SSL (最初に SSL を試す)、CURLFTPAUTH_TLS (最初に TLS を試す)、または CURLFTPAUTH_DEFAULT (cURL が自動的に決定する)。 | cURL 7.12.2 で追加されました。 | |||||||||||||||||||||||
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (デフォルト。使用するバージョンは cURL に決定させる)、CURL_HTTP_VERSION_1_0 (HTTP/1.0 の使用を強制) または CURL_HTTP_VERSION_1_1 (HTTP の使用を強制) /1.1)。 | ||||||||||||||||||||||||
CURLOPT_HTTPAUTH |
使用される HTTP 認証方法。オプションの値は次のとおりです: CURLAUTH_BASIC、CURLAUTH_DIGEST、CURLAUTH_GSSNEGOTIATE、CURLAUTH_NTLM、CURLAUTH_ANY CURLAUTH_ANYSAFE。 | ビットフィールド (または) 演算子を使用して複数の値を区切ることができ、cURL ではサーバーがそれを最もよくサポートする値を選択できます。 CURLAUTH_ANY は CURLAUTH_BASIC | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM と同等です。 CURLAUTH_ANYSAFE は CURLAUTH_DIGEST | CURLAUTH_NTLM と同等です。 | ||||||||||||||||||||||||
CURLOPT_INFILESIZE | アップロードされるファイルのサイズ制限をバイト単位で設定します。|||||||||||||||||||||||||
CURLOPT_LOW_SPEED_LIMIT | 送信速度がCURLOPT_LOW_SPEED_LIMIT (バイト/秒) 未満の場合、PHP は CURLOPT_LOW_SPEED_TIME を使用して、遅すぎるため送信をキャンセルするかどうかを判断します。 | ||||||||||||||||||||||||
CURLOPT_LOW_SPEED_TIME | 送信速度がCURLOPT_LOW_SPEED_LIMIT (バイト/秒) 未満の場合、PHP は CURLOPT_LOW_SPEED_TIME を使用して、遅すぎるため送信をキャンセルするかどうかを判断します。 | ||||||||||||||||||||||||
CURLOPT_MAXCONNECTS | 許可される接続の最大数。超過した場合、CURLOPT_CLOSEPOLICY を使用して、どの接続を停止するかを決定します。 | ||||||||||||||||||||||||
CURLOPT_MAXREDIRS | HTTP リダイレクトの最大数を指定します。このオプションはCURLOPT_FOLLOWLOCATION と一緒に使用されます。 | ||||||||||||||||||||||||
CURLOPT_PORT | は接続ポートの指定に使用します。 (オプション)|||||||||||||||||||||||||
CURLOPT_PROTOCOLS |
CURLPROTO_* のビットフィールドを参照します。有効にすると、ビットフィールド値によって、libcurl が転送中に使用できるプロトコルが制限されます。これにより、多くのプロトコルをサポートするように libcurl をコンパイルできるようになりますが、使用できるのはそれらのサブセットのみです。デフォルトでは、libcurl はサポートするすべてのプロトコルを使用します。CURLOPT_REDIR_PROTOCOLS を参照してください。使用可能なプロトコル オプションは次のとおりです: CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、 CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、プロト_ファイル、CURLPROTO_TFTP、CURLPROTO_ALL cURL 7.19.4 で追加されました。 |
||||||||||||||||||||||||
CURLOPT_PROXYAUTH HTTP プロキシ接続の検証方法。 | CURLOPT_HTTPAUTHのビットフィールド フラグを使用して、対応するオプションを設定します。プロキシ認証については、現在 CURLAUTH_BASIC と CURLAUTH_NTLM のみがサポートされています。 cURL 7.10.7 で追加されました。 | ||||||||||||||||||||||||
CURLOPT_PROXYPORT プロキシサーバーのポート。ポートは | CURLOPT_PROXYでも設定できます。 | ||||||||||||||||||||||||
CURLOPT_PROXYTYPE | CURLPROXY_HTTP(デフォルト) または CURLPROXY_SOCKS5 のいずれか。 cURL 7.10 で追加されました。 | ||||||||||||||||||||||||
CURLOPT_REDIR_PROTOCOLS | CURLPROTO_*のビット フィールド値。有効にすると、CURLOPT_FOLLOWLOCATION が有効な場合に、リダイレクトを追跡するときにトランスポート スレッドが使用できるプロトコルがビットフィールド値によって制限されます。これにより、リダイレクト時にトランスポート スレッドを許可されたプロトコルのサブセットに制限できるようになります。デフォルトでは、libcurl は FILE と SCP を除くすべてのプロトコルを許可します。これは、サポートされているすべてのプロトコルに無条件で従う 7.19.4 プレリリース バージョンとは少し異なります。プロトコル定数については、CURLOPT_PROTOCOLSを参照してください。 cURL 7.19.4 で追加されました。 | ||||||||||||||||||||||||
CURLOPT_RESUME_FROM 送信を再開するときにバイト オフセットを渡します (送信の再開に使用されます)。 | |||||||||||||||||||||||||
CURLOPT_SSL_VERIFYHOST 1 サーバーの SSL 証明書に共通名があるかどうかを確認します。翻訳者注: 一般名とは、通常、SSL 証明書を申請するドメイン名 (ドメイン) またはサブドメイン (サブドメイン) を入力することを意味します。 2 共通名が存在し、指定されたホスト名と一致することを確認します。 | |||||||||||||||||||||||||
CURLOPT_SSLVERSION 使用する SSL バージョン (2 または 3)。デフォルトでは、PHP はこの値を自動的に検出しますが、場合によっては手動で設定する必要がある場合があります。 | |||||||||||||||||||||||||
CURLOPT_TIMECONDITION | CURLOPT_TIMEVALUEで指定された一定の時間が経過した後に編集された場合は、CURL_TIMECOND_IFMODSINCE を使用してページに戻り、変更されていない場合は CURLOPT_HEADER を使用します。が true の場合、ヘッダー "304 Not Modified" が返されます。 CURLOPT_HEADER が false の場合、CURL_TIMECOND_IFUNMODSINCE を使用します。デフォルト値は CURL_TIMECOND_IFUNMODSINCE です。 | ||||||||||||||||||||||||
CURLOPT_TIMEOUT cURL の実行を許可する最大秒数を設定します。 | |||||||||||||||||||||||||
CURLOPT_TIMEOUT_MS cURL の実行が許可される最大ミリ秒数を設定します。 | cURL 7.16.2 で追加されました。 PHP 5.2.3 以降で利用可能です。 | ||||||||||||||||||||||||
CURLOPT_TIMEVALUE | CURLOPT_TIMECONDITIONで使用されるタイムスタンプを設定します。デフォルトでは、CURL_TIMECOND_IFMODSINCE が使用されます。 |
オプション | オプション値値 | 備考 | |||||||||||||||||||||||
CURLOPT_CAINFO | サーバー検証用の 1 つ以上の証明書を保持するファイル名。このパラメータは、CURLOPT_SSL_VERIFYPEER と一緒に使用した場合にのみ意味を持ちます。 . | ||||||||||||||||||||||||
CURLOPT_CAPATH | 複数の CA 証明書を保持するディレクトリ。このオプションは、CURLOPT_SSL_VERIFYPEER とともに使用されます。 | ||||||||||||||||||||||||
CURLOPT_COOKIE | HTTP リクエストの "Cookie: " 部分の内容を設定します。複数の Cookie はセミコロンとその後のスペースで区切られます (例: "fruit=apple; colour=red")。 | ||||||||||||||||||||||||
CURLOPT_COOKIEFILE | Cookie データを含むファイル名。Cookie ファイルの形式は Netscape 形式にすることも、純粋な HTTP ヘッダー情報だけをファイルに保存することもできます。 | ||||||||||||||||||||||||
CURLOPT_COOKIEJAR | 接続完了後にCookie情報を保存するファイル。 | ||||||||||||||||||||||||
CURLOPT_CUSTOMREQUEST |
HTTP リクエストとして "GET" または "HEAD" の代わりにカスタム リクエスト メッセージを使用します。これは、"DELETE" またはその他の秘密の HTTP リクエストを実行する場合に便利です。有効な値には、"GET"、"POST"、"CONNECT" などが含まれます。つまり、HTTP リクエスト全体をここに入力しないでください。たとえば、"GET /index.html HTTP/1.0rnrn" と入力するのは誤りです。
|
||||||||||||||||||||||||
CURLOPT_EGDSOCKET | エントロピー収集デーモンソケットを除き、CURLOPT_RANDOM_FILE に似ています。 | ||||||||||||||||||||||||
CURLOPT_ENCODING | HTTP リクエスト ヘッダーの "Accept-Encoding: " の値。サポートされているエンコードは、"identity"、"deflate"、および "gzip" です。空の文字列 "" の場合、リクエスト ヘッダーはサポートされているすべてのエンコード タイプを送信します。 | cURL 7.10 で追加されました。 | |||||||||||||||||||||||
CURLOPT_FTPPORT | この値は、FTP の「POST」コマンドに必要な IP アドレスを取得するために使用されます。 「POST」コマンドは、指定した IP アドレスに接続するようにリモート サーバーに指示します。この文字列には、プレーン テキストの IP アドレス、ホスト名、ネットワーク インターフェイス名 (UNIX の場合)、またはデフォルトの IP アドレスを使用するための単なる「-」を指定できます。 | ||||||||||||||||||||||||
CURLOPT_INTERFACE | ネットワーク送信インターフェイス名には、インターフェイス名、IP アドレス、またはホスト名を使用できます。 | ||||||||||||||||||||||||
CURLOPT_KRB4LEVEL | KRB4 (Kerberos 4) セキュリティ レベル。次の値のいずれかが有効です (最低値から最高値の順): "clear"、"safe"、"confidential"、 「プライベート」。。文字列がこれらのいずれにも一致しない場合は、"private" が使用されます。このオプションを NULL に設定すると、KRB4 セキュリティ認証が無効になります。現在、KRB4 セキュリティ認証は FTP 送信にのみ使用できます。 | ||||||||||||||||||||||||
CURLOPT_POSTFIELDS | すべてのデータは、HTTP プロトコルの「POST」操作を使用して送信されます。ファイルを送信するには、ファイル名の前に @ を付け、フルパスを使用します。このパラメーターは、'para1=val1¶2=val2&...' のような URL コード化された文字列を介して渡すことも、フィールド名をキーとして、フィールド データを値として持つ配列を使用することもできます。 value が配列の場合、Content-Type ヘッダーは multipart/form-data に設定されます。 | ||||||||||||||||||||||||
CURLOPT_PROXY | HTTP プロキシ チャネル。 | ||||||||||||||||||||||||
CURLOPT_PROXYUSERPWD | プロキシへの接続に使用される "[username]:[password]" 形式の文字列。 | ||||||||||||||||||||||||
CURLOPT_RANDOM_FILE | SSL 乱数シードの生成に使用されるファイル名。 | ||||||||||||||||||||||||
CURLOPT_RANGE | "X-Y" の形式。X と Y はバイト単位のデータ範囲を取得するためのオプションです。 HTTP 転送スレッドは、"X-Y,N-M" など、カンマで区切られたこのような複数の重複もサポートします。 | ||||||||||||||||||||||||
CURLOPT_REFERER | HTTP リクエストヘッダーの "Referer: " の内容。 | ||||||||||||||||||||||||
CURLOPT_SSL_CIPHER_LIST | SSL 暗号化アルゴリズムのリスト。たとえば、RC4-SHA と TLSv1 はどちらも使用可能な暗号化リストです。 | ||||||||||||||||||||||||
CURLOPT_SSLCERT | PEM 形式の証明書を含むファイル名。 | ||||||||||||||||||||||||
CURLOPT_SSLCERTPASSWD | CURLOPT_SSLCERT証明書を使用するにはパスワードが必要です。 | ||||||||||||||||||||||||
CURLOPT_SSLCERTTYPE | 証明書の種類。サポートされている形式は、"PEM" (デフォルト)、"DER"、および "ENG" です。 | cURL 7.9.3 で追加されました。 | |||||||||||||||||||||||
CURLOPT_SSLENGINE | CURLOPT_SSLKEY で指定された SSL 秘密キーに使用される暗号化エンジン変数。 | ||||||||||||||||||||||||
CURLOPT_SSLENGINE_DEFAULT | 非対称暗号化操作に使用される変数。 | ||||||||||||||||||||||||
CURLOPT_SSLKEY | SSL 秘密キーを含むファイルの名前。 | ||||||||||||||||||||||||
CURLOPT_SSLKEYPASSWD |
CURLOPT_SSLKEY で指定された SSL 秘密キーのパスワード。
|
||||||||||||||||||||||||
CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEY🎜>"ENG"で指定された秘密鍵の暗号化タイプ。 | CURLOPT_URL | |||||||||||||||||||||||
取得するURLアドレスはcurl_init()関数でも設定できます。 | CURLOPT_USERAGENT | ||||||||||||||||||||||||
HTTP リクエストには "User-Agent: " ヘッダー文字列が含まれます。 | CURLOPT_USERPWD | ||||||||||||||||||||||||
接続に必要なユーザー名とパスワードを "[ユーザー名]:[パスワード]" の形式で渡します。 |
オプション | オプション
値 |
||||||||||||
CURLOPT_HEADERFUNCTION | コールバック関数を設定します。この関数には 2 つのパラメータがあります。1 つ目は cURL リソース ハンドルで、2 つ目は出力ヘッダー データです。ヘッダー データの出力は、書き込まれたデータのサイズを返すこの関数に依存する必要があります。 | ||||||||||||
CURLOPT_PASSWDFUNCTION |
3 つのパラメータを使用してコールバック関数を設定します。1 つ目は cURL リソース ハンドル、2 つ目はパスワード プロンプト、3 つ目のパラメータは許可されるパスワードの最大長です。パスワードの値を返します。 | ||||||||||||
CURLOPT_PROGRESSFUNCTION | 3 つのパラメータを使用してコールバック関数を設定します。1 つ目は cURL リソース ハンドル、2 つ目はファイル記述子リソース、3 つ目は長さです。含まれているデータを返します。 | ||||||||||||
CURLOPT_READFUNCTION | は、2 つのパラメータを持つコールバック関数です。最初のパラメータはセッション ハンドルで、2 番目のパラメータは HTTP 応答ヘッダー情報の文字列です。この関数を使用すると、返されたデータが自分で処理されます。戻り値はデータ サイズ (バイト単位) です。 0 を返すと、EOF 信号を表します。 | ||||||||||||
CURLOPT_WRITEFUNCTION |
は、2 つのパラメータを持つコールバック関数です。最初のパラメータはセッション ハンドルで、2 番目のパラメータは HTTP 応答ヘッダー情報の文字列です。このコールバック関数を使用すると、応答ヘッダー情報が単独で処理されます。応答ヘッダー情報は文字列全体です。戻り値を、書き込まれた文字列の正確な長さに設定します。エラーが発生すると、トランスポート スレッドは終了します。 |