関数・クラス解説

curl_setopt

version:PHP 4 >= 4.0.2, PHP 5, PHP 7 (公式)

cURL 転送用オプションを設定する

公式リファレンス

書式

curl_setopt ( resource $ch , int $option , mixed $value ) : bool

説明

指定した cURL セッションハンドルのオプションを設定します。

パラメータ

ch
curl_init()が返す cURL ハンドル。
option
設定したい CURLOPT_XXX オプション。
value
option に設定する値。 value には、 option の以下の値に関して bool 値を指定する必要があります。
オプション value への設定値 注記
CURLOPT_AUTOREFERER TRUE を設定すると、Location: によるリダイレクトを たどる際には自動的に Referer: フィールドをリクエストに 追加します。
CURLOPT_BINARYTRANSFER TRUE を設定すると、CURLOPT_RETURNTRANSFER が使用された場合に出力結果を何も加工せずに返します。 PHP 5.1.3 以降では、このオプションは何の効果もありません。 CURLOPT_RETURNTRANSFER を使ったときには 常に出力をそのまま返すようになりました。
CURLOPT_COOKIESESSION TRUE を設定すると、クッキーの "セッション" を新しく開始します。 以前のセッションで読み込まれていた "セッションクッキー" は無視するよう、 libcurl に指示します。デフォルトでは、それがセッションクッキーであるか どうかにかかわらず libcurl はすべてのクッキーを読み込んで保存します。 セッションクッキーとは、有効期限が指定されておらず "セッション" の間のみ 有効であるクッキーのことです。
CURLOPT_CERTINFO TRUE を設定すると、セキュアな転送時に SSL 証明書の情報を STDERR に出力します。 cURL 7.19.1 で追加されました。 PHP 5.3.2 以降で使用可能です。これを使うには、CURLOPT_VERBOSE を on にしておかなければなりません。
CURLOPT_CONNECT_ONLY TRUE を設定すると、プロキシの認証や接続の確立などをすべて行いますが、データは転送しません。 このオプションは、HTTP や SMTP そして POP3 用に実装されています。 7.15.2 で追加されました。 PHP 5.5.0 以降で使用可能です。
CURLOPT_CRLF TRUE を設定すると、転送時に Unix 形式の改行を CRLF 形式に変換します。
CURLOPT_DISALLOW_USERNAME_IN_URL ユーザー名をURLに含めてはいけない場合に TRUE にします。 デフォルトは 0 で、ユーザー名は許可されています。 cURL 7.61.0 で追加されました。 PHP 7.3.0 以降で利用可能です。
CURLOPT_DNS_SHUFFLE_ADDRESSES 名前が解決され、ひとつ以上のIPアドレスが返された際、 ランダムな順番でそれらを利用するために、 返されたアドレスの順番をシャッフルする場合に TRUE にします。 これによって、IPv6 アドレスの前に IPv4 アドレスが使われるなどの事象が起こるかもしれません。 cURL 7.60.0 で追加されました。 PHP 7.3.0 以降で利用可能です。
CURLOPT_HAPROXYPROTOCOL HAProxy Proxy プロトコル v1 ヘッダを接続の開始時に送信する場合に TRUE にします。 デフォルトではこのヘッダは送信されません。 cURL 7.60.0 で追加されました。 PHP 7.3.0 以降で利用可能です。
CURLOPT_SSH_COMPRESSION ビルトインの SSH 圧縮を有効にする場合に TRUE にします。 これはリクエストであり、命令ではありません。 つまり、圧縮されるかどうかはサーバ次第です。 cURL 7.56.0 で追加されました。 PHP 7.3.0 以降で利用可能です。
CURLOPT_DNS_USE_GLOBAL_CACHE TRUE を設定すると、グローバル DNS キャッシュを利用します。 このオプションはスレッドセーフではありません。 また、PHP がスレッドセーフでない用途でビルドされている場合 (CLI, FCGI, Apache2-Prefork など) には、デフォルトで有効になっています。
CURLOPT_FAILONERROR TRUE を設定すると、HTTP で 400 以上のコードが返ってきた際に 処理失敗と判断します。デフォルトでは、コードの値を無視して ページの内容を取得します。
CURLOPT_SSL_FALSESTART TRUE にすると、TLS false start を有効にします。 cURL 7.42.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_FILETIME TRUE を設定すると、ドキュメントの更新日時を取得しようと試みます。 この値を取得するには、curl_getinfo() で CURLINFO_FILETIME オプションを用います。
CURLOPT_FOLLOWLOCATION TRUE を設定すると、サーバーが HTTP ヘッダの一部として送ってくる "Location: " ヘッダの内容をたどります (これは再帰的に行われます。CURLOPT_MAXREDIRS が指定されていない限り、送ってくる "Location: " ヘッダの内容をずっとたどり続けることに注意しましょう)。
CURLOPT_FORBID_REUSE TRUE を設定すると、処理が終了した際に明示的に接続を切断します。 接続を再利用しません。
CURLOPT_FRESH_CONNECT TRUE を設定すると、キャッシュされている接続を利用せずに 新しい接続を確立します。
CURLOPT_FTP_USE_EPRT TRUE を設定すると、FTP のダウンロードに EPRT(および LPRT) を利用します。FALSE の場合は EPRT・LPRT を無効にして PORT を利用します。
CURLOPT_FTP_USE_EPSV TRUE を設定すると、FTP 転送の際にまず EPSV コマンドの利用を 試みます。失敗した場合は PASV を利用します。FALSE を設定すると、 EPSV を無効にします。
CURLOPT_FTP_CREATE_MISSING_DIRS TRUE を設定すると、FTP の操作中にパスが存在しなかったときに ディレクトリを作成します。
CURLOPT_FTPAPPEND TRUE を設定すると、リモートファイルを上書きせずに追記します。
CURLOPT_TCP_NODELAY TRUE にすると、TCP の Nagle アルゴリズムを解除します。解除すると、小さなパケットがネットワーク上を流れる回数をできるだけ減らそうと試みます。 PHP 5.2.1 以降のバージョンで、libcurl 7.11.2 以降と組み合わせてコンパイルしたときに利用可能です。
CURLOPT_FTPASCII CURLOPT_TRANSFERTEXT のエイリアスです。
CURLOPT_FTPLISTONLY TRUE を設定すると、FTP でディレクトリ名のみ表示します。
CURLOPT_HEADER TRUE を設定すると、ヘッダの内容も出力します。
CURLINFO_HEADER_OUT TRUE を設定すると、リクエスト文字列を追跡します。 PHP 5.1.3 以降で使用可能です。プレフィックスが CURLINFO_ となっているのは意図的なものです。
CURLOPT_HTTP09_ALLOWED HTTP/0.9 形式のレスポンスを許可するかどうか。libcurl 7.66.0 以降のデフォルトは FALSE です。 それより前のバージョンのデフォルトは TRUE でした。 PHP 7.3.15 と 7.4.3 以降 および cURL >= 7.64.0 をビルドした場合に使用可能です。
CURLOPT_HTTPGET TRUE を設定すると、HTTP のリクエスト形式を GET に戻します。 GET はデフォルト設定なので、リクエスト形式が変更されている 場合にのみ必要となります。
CURLOPT_HTTPPROXYTUNNEL TRUE にすると、指定された HTTP プロキシを介してトンネルします。
CURLOPT_HTTP_CONTENT_DECODING FALSE を設定すると、生の HTTP レスポンスボディを取得します。 PHP 5.5.0 以降で、libcurl >= 7.16.2 とビルドした場合に利用可能です。
CURLOPT_KEEP_SENDING_ON_ERROR 返されたHTTPコードが300以上であっても、リクエストボディを送信し続ける場合は TRUE にします。 デフォルトのアクションはリクエストボディの送信を止め、 ストリームまたは接続を閉じます。 手動でNTLM認証を行う場合に、このオプションは適切です。 ほとんどのアプリケーションは、このオプションは不要です。 PHP 7.3.0 以降で、libcurl >= 7.51.0 とビルドした場合に利用可能です。
CURLOPT_MUTE TRUE を設定すると、cURL 関数に関連する出力を完全に抑えます。 cURL 7.15.5 で削除されました (かわりに CURLOPT_RETURNTRANSFER が使えます)
CURLOPT_NETRC TRUE を設定すると、リモートサイトと接続を確立する際に用いる ユーザー名やパスワードを、~/.netrc から取得します。
CURLOPT_NOBODY TRUE を設定すると、出力から本文を削除します。 リクエストメソッドは HEAD となります。これを FALSE に変更してもリクエストメソッドは GET には変わりません。
CURLOPT_NOPROGRESS TRUE を設定すると、cURL 転送の進捗状況表示を無効にします。
注意: PHP は、このオプションを自動的に TRUE に設定します。 これを変更するのは、デバッグ時のみにすべきです。
CURLOPT_NOSIGNAL TRUE を設定すると、cURL 関数が PHP プロセスに送信するシグナルを 無視します。マルチスレッド SAPI ではデフォルトで on となっており、 そのためタイムアウトオプションもまだ利用されています。 cURL 7.10 で追加されました。
CURLOPT_PATH_AS_IS TRUE にすると、ドットの連続を処理しません。 cURL 7.42.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_PIPEWAIT TRUE にすると、パイプライン化/多重化を待ちます。 cURL 7.42.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_POST TRUE を設定すると、HTTP POST を行います。POST は、 application/x-www-form-urlencoded 形式で 行われます。これは一般的な HTML のフォームと同じ形式です。
CURLOPT_PUT TRUE を設定すると、HTTP PUT を行います。PUT するファイルは CURLOPT_INFILE および CURLOPT_INFILESIZE で指定されている必要があります。
CURLOPT_RETURNTRANSFER TRUE を設定すると、curl_exec() の返り値を 文字列で返します。通常はデータを直接出力します。
CURLOPT_SASL_IR TRUE にすると、最初のパケット内の最初のレスポンスの送信を有効にします。 cURL 7.31.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_SSL_ENABLE_ALPN FALSE にすると、SSL ハンドシェイクの際の ALPN を無効にします (SSL バックエンドの libcurl がそれに対応するビルドである場合)。 これは、http2 ネゴシエーションに使えます。 cURL 7.36.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_SSL_ENABLE_NPN FALSE にすると、SSL ハンドシェイクの際の NPN を無効にします (SSL バックエンドの libcurl がそれに対応するビルドである場合)。 これは、http2 ネゴシエーションに使えます。 cURL 7.36.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_SSL_VERIFYPEER FALSE を設定すると、cURL はサーバー証明書の検証を行いません。 別の証明書を CURLOPT_CAINFO オプションで 指定するか、CURLOPT_CAPATH オプションで 証明ディレクトリを指定します。 cURL 7.10 以降、デフォルト値は TRUE です。また、 cURL 7.10 以降、デフォルトでインストールされています。
CURLOPT_SSL_VERIFYSTATUS TRUE にすると、証明書のステータスを検証します。 cURL 7.41.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_PROXY_SSL_VERIFYPEER FALSE を設定すると、cURL がピアの証明書の検証を行わなくなります。 別の証明書を検証するには、CURLOPT_CAINFO オプションで指定するか、 CURLOPT_CAPATH を使って証明書のディレクトリを指定するやり方が使えます。 FALSE を指定すると、ピアの証明書の検証はオプションに関係なく成功します。 TRUE がデフォルトです。 PHP 7.3.0 以降で、libcurl >= 7.52.0 とビルドした場合に利用可能です。
CURLOPT_SUPPRESS_CONNECT_HEADERS TRUE を設定すると、 CURLOPT_HTTPPROXYTUNNEL を使って CONNECT リクエストが生成された場合に、 ユーザーのコールバック関数 CURLOPT_HEADERFUNCTION および CURLOPT_WRITEFUNCTION では proxy CONNECT のレスポンスヘッダを抑制します。 cURL 7.54.0 で追加されました。PHP 7.3.0 以降で使用可能です。
CURLOPT_TCP_FASTOPEN TRUE にすると、TCP Fast Open を有効にします。 cURL 7.49.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_TFTP_NO_OPTIONS TRUE にすると、TFTP オプションリクエストを送信しません。 cURL 7.48.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_TRANSFERTEXT TRUE を設定すると、FTP 転送を ASCII モードで行います。 LDAP の場合は、データを HTML ではなくプレーンテキストで取得します。 Windows システムでは STDOUT に対してバイナリモードを設定しないでください。
CURLOPT_UNRESTRICTED_AUTH TRUE を設定すると、(CURLOPT_FOLLOWLOCATION を利用して)場所をたどっていく際にユーザー名とパスワードを送信し続けます。 これは、たとえホスト名が変わっても続けられます。
CURLOPT_UPLOAD TRUE を設定すると、アップロードの準備をします。
CURLOPT_VERBOSE TRUE を設定すると、詳細な情報を出力します。情報は STDERR か、または CURLOPT_STDERR で指定したファイルに出力されます。
value には、 option の以下の値に関して 整数値を指定する必要があります。
オプション value への設定値 注記
CURLOPT_BUFFERSIZE 1 回の読み込みに用いるバッファのサイズ。しかしながら、必ず このバッファいっぱいまで読み込まれることを保証するものではありません。 cURL 7.10 で追加されました。
CURLOPT_CLOSEPOLICY CURLCLOSEPOLICY_* のいずれかの値。
注意: このオプションは非推奨となりました。cURL で実装されることがなく、指定しても何の効果もありませんでした。
PHP 5.6.0 で削除されました。
CURLOPT_CONNECTTIMEOUT 接続の試行を待ち続ける秒数。0 は永遠に待ち続けることを意味します。
CURLOPT_CONNECTTIMEOUT_MS 接続の試行を待ち続けるミリ秒数。0 は永遠に待ち続けることを意味します。 システムの標準の名前解決を使うように libcurl をビルドしている場合は、 接続のタイムアウトは秒単位の精度となり、最小のタイムアウトは 1 秒となります。 cURL 7.16.2 で追加されました。PHP 5.2.3 以降で使用可能です。
CURLOPT_DNS_CACHE_TIMEOUT DNS エントリをメモリ内に保持し続ける秒数。デフォルトでは 120(2 分)に設定されています。
CURLOPT_EXPECT_100_TIMEOUT_MS 期待するタイムアウト。連続100リクエストの時間をミリ秒で指定します。 デフォルトは1000ミリ秒です。 cURL 7.36.0 で追加されました。PHP 7.0.7 以降で使用可能です。
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS Happy Eyeballs アルゴリズムで IPv6 接続を優先して開始します。 Happy Eyeballs アルゴリズムは、 デュアルスタックホストのために IPv4 と IPv6アドレス両方に接続を試みますが、 IPv6 を優先して扱い、そのタイムアウトをミリ秒単位で指定します。 デフォルトは CURL_HET_DEFAULT であり、現状は200ミリ秒です。 cURL 7.59.0 で追加されました。PHP 7.3.0 以降で使用可能です。
CURLOPT_FTPSSLAUTH (使用可能な場合の)FTP 認証方法。 CURLFTPAUTH_SSL(まず SSL を試す)、 CURLFTPAUTH_TLS(まず TLS を試す)あるいは CURLFTPAUTH_DEFAULT(cURL が決める)のいずれかです。 cURL 7.12.2 で追加されました。
CURLOPT_HEADEROPT ヘッダをどう扱うかを指定します。 次の定数のうち、一つを指定できます: CURLHEADER_UNIFIED: CURLOPT_HTTPHEADER で指定されたヘッダが、 サーバとプロキシ双方のリクエストに対して使われます。 このオプションが有効な場合、 CURLOPT_PROXYHEADER は効果がありません。 CURLHEADER_SEPARATE: CURLOPT_HTTPHEADER で指定されたヘッダは、 プロキシには送られず、サーバにのみ送られます。 プロキシに送るヘッダは、 CURLOPT_PROXYHEADER を設定しなければなりません。 CONNECT でないリクエストがプロキシに送信された場合、 libcurl はサーバとプロキシ両方にヘッダを送信することに注意してください。 CONNECT リクエストを送信する場合、 libcurl は CURLOPT_PROXYHEADER をプロキシのみに送り、 CURLOPT_HTTPHEADER をサーバにのみ送信します。 cURL 7.42.1 以降は CURLHEADER_SEPARATE がデフォルトで、 それより前では、 CURLHEADER_UNIFIED がデフォルトでした。 cURL 7.37.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_HTTP_VERSION CURL_HTTP_VERSION_NONE (デフォルト。 使用するバージョンを決めるのは cURL にまかせる)、 CURL_HTTP_VERSION_1_0 (HTTP/1.0 を使用する)、 あるいは CURL_HTTP_VERSION_1_1 (HTTP/1.1 を使用する) CURL_HTTP_VERSION_2_0 (HTTP 2 の使用を試みる), CURL_HTTP_VERSION_2 (CURL_HTTP_VERSION_2_0 のエイリアス), CURL_HTTP_VERSION_2TLS (TLS (https) の場合のみ HTTP 2 の使用を試みる) または CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (HTTP 1.1 へのアップグレードを行わず、HTTP/2 を使って TLS でないリクエストを発行する) のいずれかです。
CURLOPT_HTTPAUTH 使用する HTTP 認証方法。以下の中から選びます。 CURLAUTH_BASIC、 CURLAUTH_DIGEST、 CURLAUTH_GSSNEGOTIATE、 CURLAUTH_NTLM、 CURLAUTH_ANY および CURLAUTH_ANYSAFE。 2 つ以上の方法を組み合わせるには、ビット演算子 |(or) を使用します。このような場合、cURL はサーバーがサポートしている方法を 問い合わせたうえで最適な方法を選択します。 CURLAUTH_ANY は CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM のエイリアスです。 CURLAUTH_ANYSAFE は CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM のエイリアスです。
CURLOPT_INFILESIZE ファイルをリモートサイトにアップロードする際のファイルサイズ。 このオプションを指定しても、libcurl がそれ以上のデータを送信するのは止められないことに注意しましょう。 実際に何が送信されるのかは CURLOPT_READFUNCTION に依存します。
CURLOPT_LOW_SPEED_LIMIT 1 秒あたりのバイト数で、転送速度がこれより遅い期間が CURLOPT_LOW_SPEED_TIME 秒以上続いた場合に PHP は転送を終了します。
CURLOPT_LOW_SPEED_TIME 転送速度が CURLOPT_LOW_SPEED_LIMIT より遅い期間がどれだけ続いた場合に転送を異常終了させるかを、 秒単位で指定します。
CURLOPT_MAXCONNECTS 許可される持続的接続の最大数。もしこの値に達した場合、 どの接続を閉じるのかを CURLOPT_CLOSEPOLICY によって決定します。
CURLOPT_MAXREDIRS HTTP のリダイレクト先を追いかける最大値。 CURLOPT_FOLLOWLOCATION とあわせて使用します。
CURLOPT_PORT 接続先のポート番号。
CURLOPT_POSTREDIR CURLOPT_FOLLOWLOCATION が設定されているときに、 どの形式のリダイレクトの場合に HTTP POST メソッドを維持するのかを、 1 (301 Moved Permanently)、2 (302 Found)、4 (303 See Other) のビットマスクで指定します。 cURL 7.19.1 で追加されました。PHP 5.3.2 以降で使用可能です。
CURLOPT_PROTOCOLS CURLPROTO_* の値のビットマスク。使用すると、 転送時に libcurl がどのプロトコルを使用するのかに制約を加えます。 さまざまなプロトコルに対応するよう libcurl をビルドしていた場合でも、 これによって特定の転送プロトコルのみを使用するように制限することができます。 デフォルトでは、libcurl がサポートしているすべてのプロトコルの使用を許可します。 CURLOPT_REDIR_PROTOCOLS も参照ください。 使用できるプロトコルオプションは次のとおりです。 CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, 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_SOCKS4、 CURLPROXY_SOCKS5、 CURLPROXY_SOCKS4A あるいは CURLPROXY_SOCKS5_HOSTNAME。 cURL 7.10 で追加されました。
CURLOPT_REDIR_PROTOCOLS CURLPROTO_* の値のビットマスク。使用すると、 CURLOPT_FOLLOWLOCATION が有効な場合のリダイレクト時の転送に libcurl がどのプロトコルを使用するのかに制約を加えます。これによって、 リダイレクト時に特定の転送プロトコルのみを使用するように制限することができます。 デフォルトでは、libcurl がサポートしているすべてのプロトコルのうち FILE と SCP 以外のすべての使用を許可します。この挙動は 7.19.4 より前のバージョンとは異なります。7.19.4 より前のバージョンでは、 サポートするすべてのプロトコルを無条件に許可していました。 プロトコル定数の値は CURLOPT_PROTOCOLS を参照ください。 cURL 7.19.4 で追加されました。
CURLOPT_RESUME_FROM 転送を途中から再開する場合のバイトオフセット。
CURLOPT_SOCKS5_AUTH 利用する SOCKS5 認証方法。以下が指定できます: CURLAUTH_BASIC, CURLAUTH_GSSAPI, CURLAUTH_NONE 一つ以上の認証方法を組み合わせるために ビット演算子 | (or) が使えます。 これを使うと、cURL がどの方法をサポートしているかをポーリングし、もっとも良いものを選択します。 CURLAUTH_BASIC を指定すると、ユーザー名/パスワード による認証ができます。 CURLAUTH_GSSAPI を指定すると、GSS-API 認証ができます。 CURLAUTH_NONE を指定すると、認証は行われません。 デフォルトは CURLAUTH_BASIC|CURLAUTH_GSSAPI です。 実際のユーザー名とパスワードは CURLOPT_PROXYUSERPWD オプションを使って設定してください。 PHP 7.3.0 以降 および curl >= 7.55.0 で利用可能です。
CURLOPT_SSL_OPTIONS SSL 関連の振る舞いのオプションを設定します。 以下に示す定数のビットマスクの組み合わせです: CURLSSLOPT_ALLOW_BEAST: SSL3 や TLS1.0 プロトコルのセキュリティ上の欠陥を回避するあらゆる手段を使わない。 CURLSSLOPT_NO_REVOKE: 証明書の失効チェックを行うSSLバックエンドについて、それを無効にする。 cURL 7.25.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_SSL_VERIFYHOST 1 は SSL ピア証明書に一般名が存在するかどうかを調べます。 2 はそれに加え、その名前がホスト名と一致することを検証します。 0 は、名前をチェックしません。 本番環境では、このオプションの値は常に 2 (デフォルト値) にしておかなければなりません。 値 1 は、cURL 7.28.1 以降では使えなくなりました。
CURLOPT_SSLVERSION CURL_SSLVERSION_DEFAULT (0)、 CURL_SSLVERSION_TLSv1 (1)、 CURL_SSLVERSION_SSLv2 (2)、 CURL_SSLVERSION_SSLv3 (3)、 CURL_SSLVERSION_TLSv1_0 (4)、 CURL_SSLVERSION_TLSv1_1 (5)、 CURL_SSLVERSION_TLSv1_2 (6) のいずれかの値。 TLSバージョンの最大値は、定数 CURL_SSLVERSION_MAX_* で設定できます。 定数 CURL_SSLVERSION_MAX_* のうちのひとつと、 定数 CURL_SSLVERSION_* のうちのひとつを OR で設定することもできます。 CURL_SSLVERSION_MAX_DEFAULT (ライブラリがサポートする最大のバージョン), CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, または CURL_SSLVERSION_MAX_TLSv1_3.
注意: この値は何も設定せず、デフォルトに任せるのが最適です。 2 や 3 を設定すると、SSLv2 および SSLv3 の既知の脆弱性の影響を受けるため、非常に危険です。
CURLOPT_PROXY_SSL_OPTIONS HTTPSプロキシの振る舞いを設定するオプションです。 これは以下の定数のうち、任意のものを組み合わせたビットマスクです: CURLSSLOPT_ALLOW_BEAST: SSL3 と TLS1.0 プロトコルに存在する脆弱性を回避するための回避策を使いません。 CURLSSLOPT_NO_REVOKE: SSLバックエンドの証明書の失効チェックを無効にします。 但し、そうした振る舞いが存在した場合に限ります(curl >= 7.44.0) CURLSSLOPT_NO_PARTIALCHAIN: "部分的な"証明書チェインを許可しません。 デフォルトでは許可されています(curl >= 7.68.0) PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_SSL_VERIFYHOST HTTPSプロキシの証明書の名前フィールドをプロキシ名と突き合わせて検証する場合 2 を設定します。 0 を設定すると、証明書でどのような名前が使われていようと、接続は成功します。 注意して使用してください! 1 は curl 7.28.0 以前ではデバッグオプションとして扱われていました。 curl 7.28.1 から 7.65.3 までは CURLE_BAD_FUNCTION_ARGUMENT が返されていました。 curl 7.66.0 以降では 1 と 2 は同じ値として扱われます。 本番環境では、このオプションの値は (デフォルトの) 2 であるべきです。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_SSLVERSION 以下のうちのひとつが指定できます: CURL_SSLVERSION_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2, CURL_SSLVERSION_TLSv1_3, CURL_SSLVERSION_MAX_DEFAULT, CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, CURL_SSLVERSION_MAX_TLSv1_3, CURL_SSLVERSION_SSLv3
注意: 最も良い選択は、このオプションを設定せず、 デフォルトの CURL_SSLVERSION_DEFAULT を使うことです。 このオプションは、リモートのSSLプロトコルのバージョンを見つけようとします。
PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_STREAM_WEIGHT ストリームの重みを数値で設定します(1 から 256 までの数値) cURL 7.46.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_TCP_KEEPALIVE この値を 1 に設定すると、TCP keepalive のプローブが送信されます。 これらのプローブを送信する頻度と遅延時間は オペレーティングシステムがサポートしていれば CURLOPT_TCP_KEEPIDLE と CURLOPT_TCP_KEEPINTVL で制御可能です。 0 に設定すると(デフォルト)、keepalive のプローブは送信されません。 cURL 7.25.0 で追加されました。PHP 5.5.0 以降で利用可能です。
CURLOPT_TCP_KEEPIDLE CURLOPT_TCP_KEEPALIVE が有効になっている場合に、 keepalive のプローブを送信する前に、接続をアイドルなままにしてオペレーティングシステムを待たせる 遅延時間を秒単位で設定します。 全てのオペレーティングシステムがこのオプションをサポートしているわけではありません。 デフォルトは 60 です。 cURL 7.25.0 で追加されました。PHP 5.5.0 以降で利用可能です。
CURLOPT_TCP_KEEPINTVL CURLOPT_TCP_KEEPALIVE が有効になっている場合に、 keepalive のプローブを送信する前に、オペレーティングシステムが待つ間隔を秒単位で設定します。 全てのオペレーティングシステムがこのオプションをサポートしているわけではありません。 デフォルトは 60 です。 cURL 7.25.0 で追加されました。PHP 5.5.0 以降で利用可能です。
CURLOPT_TIMECONDITION CURLOPT_TIMEVALUE の扱いを決定します。 CURLOPT_TIMEVALUE で指定した時刻以降に 変更されたページのみを返す場合は CURL_TIMECOND_IFMODSINCE を使用します。 CURLOPT_HEADER が TRUE だと仮定すると、 ページが変更されていない場合は "304 Not Modified" ヘッダが返されます。 CURL_TIMECOND_IFUNMODSINCE は反対の意味です。 デフォルトは CURL_TIMECOND_IFMODSINCE です。
CURLOPT_TIMEOUT cURL 関数の実行にかけられる時間の最大値。
CURLOPT_TIMEOUT_MS cURL 関数の実行にかけられる最大のミリ秒数。 システムの標準の名前解決を使うように libcurl をビルドしている場合は、 接続のタイムアウトは秒単位の精度となり、最小のタイムアウトは 1 秒となります。 cURL 7.16.2 で追加されました。PHP 5.2.3 以降で使用可能です。
CURLOPT_TIMEVALUE 1970 年 1 月 1 日からの経過秒数。この値は CURLOPT_TIMECONDITION で使用されます。デフォルトでは CURL_TIMECOND_IFMODSINCE が設定されます。
CURLOPT_TIMEVALUE_LARGE 1970年1月1日からの経過時刻を秒単位で示します。 この値は CURLOPT_TIMECONDITION によって使われます。 デフォルトは0です。 このオプションと CURLOPT_TIMEVALUE の違いは引数の型です。 'long' が 32ビット長しかないシステムでは、 2038年以降の日付を設定するためにこのオプションを使わなければいけません。 cURL 7.59.0 で追加されました。PHP 7.3.0 以降で使用可能です。
CURLOPT_MAX_RECV_SPEED_LARGE ダウンロード速度 (単位は「バイト/秒」) の転送中累加平均がこの値を超えると、 転送を一時停止して、平均速度がこのパラメータの値以下に落ちるまで待ちます。 デフォルトは無制限です。 cURL 7.15.5 で追加されました。PHP 5.4.0 以降で使用可能です。
CURLOPT_MAX_SEND_SPEED_LARGE アップロード速度 (単位は「バイト/秒」) の転送中累加平均がこの値を超えると、 転送を一時停止して、平均速度がこのパラメータの値以下に落ちるまで待ちます。 デフォルトは無制限です。 cURL 7.15.5 で追加されました。PHP 5.4.0 以降で使用可能です。
CURLOPT_SSH_AUTH_TYPES CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD のビットマスク。 CURLSSH_AUTH_ANY にすると libcurl がいずれかひとつを選択します。 cURL 7.16.1 で追加されました。
CURLOPT_IPRESOLVE ホスト名の解決にどの形式の IP アドレスを使うのかを、アプリケーションが選べるようにします。 複数のバージョンの IP アドレスで解決できるホスト名のときに使うもので、指定できる値は CURL_IPRESOLVE_WHATEVER、 CURL_IPRESOLVE_V4 そして CURL_IPRESOLVE_V6 です。 デフォルトは CURL_IPRESOLVE_WHATEVER です。 cURL 7.10.8 で追加されました。
CURLOPT_FTP_FILEMETHOD FTP(S) サーバー上のファイルに到達するために使う方法を curl に伝えます。利用可能な値は CURLFTPMETHOD_MULTICWD、 CURLFTPMETHOD_NOCWD および CURLFTPMETHOD_SINGLECWD です。 cURL 7.15.1 で追加されました。PHP 5.3.0 以降で使用可能です。
value は、 option パラメータの 以下の値に関して文字列である必要があります。
オプション value への設定値 注記
CURLOPT_ABSTRACT_UNIX_SOCKET ホストにTCP接続する代わりに、抽象化されたUnixドメインソケットの使用を有効にし、 パスを指定された string に設定します。 このオプションは CURLOPT_UNIX_SOCKET_PATH と同じセマンティクスを共有しています。 これらのふたつのオプションは同じストレージを共有するので、 ハンドルごとにそれらのうちのひとつだけを設定できます。 cURL 7.53.0 で追加されました。PHP 7.3.0 以降で利用可能です。
CURLOPT_CAINFO 接続先を検証するための証明書を保持するファイル名。 これは CURLOPT_SSL_VERIFYPEER を使用する場合に のみ意味を持ちます。 絶対パスで指定しなければならないでしょう。
CURLOPT_CAPATH 複数の証明書ファイルを保持するディレクトリ。このオプションは CURLOPT_SSL_VERIFYPEER とともに使用します。
CURLOPT_COOKIE HTTP リクエストにおける "Cookie: " ヘッダの内容。 クッキーが複数ある場合は、セミコロンとスペースで区切られる (例 "fruit=apple; colour=red") ことに注意しましょう。
CURLOPT_COOKIEFILE クッキーのデータを保持するファイルの名前。クッキーファイルは、 Netscape フォーマットあるいは HTTP ヘッダを単純にファイルにダンプしたものが使用可能です。 名前が空文字列の場合はクッキーを読み込みませんが、クッキーの処理は有効なままです。
CURLOPT_COOKIEJAR ハンドルを閉じる際 (curl_close のコール後など) に、 すべての内部クッキーを保存するファイルの名前。
CURLOPT_COOKIELIST 内部的な Cookie ストアに追加するCookie文字列(つまり、NetScape/Mozilla フォーマット または HTTP形式の Set-Cookieヘッダ)。 "ALL" の場合、メモリに保持している全てのクッキーを削除します。 "SESS" の場合、メモリに保持している全てのセッションクッキーを削除します。 "FLUSH" の場合、CURLOPT_COOKIEJAR で指定されたファイルに全ての既知の Cooie を書き込みます。 "RELOAD" の場合、CURLOPT_COOKIEFILE で指定されたファイルから全てのクッキーを読み込みます。 PHP 5.5.0 および cURL 7.14.1 以降で利用可能です。
CURLOPT_CUSTOMREQUEST HTTP リクエストで "GET" あるいは "HEAD" 以外に 使用するカスタムメソッド。これが有用なのは、"DELETE" やその他のあまり知られていない HTTP リクエストを実行する場合です。 使用可能な値は "GET"、 "POST"、"CONNECT" などです。 HTTP リクエストの内容をすべて指定するわけではありません。つまり、 "GET /index.html HTTP/1.0\r\n\r\n" のような 記述は間違いだということです。
注意: 使用しようとしているメソッドをサーバーがサポートしていることを 確かめるまで、これを使用しないでください。
CURLOPT_DEFAULT_PROTOCOL URL にスキーム名がなかった場合のデフォルトのプロトコル cURL 7.45.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_DNS_INTERFACE DNS リゾルバがバインドするべきネットワークインターフェイス名を設定します。 これは、(アドレスではなく)インターフェイス名でなければなりません。 cURL 7.33.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_DNS_LOCAL_IP4 リゾルバがバインドするべきローカルの IPv4 アドレスを設定します。 この値は、数値の IPv4 アドレスを文字列で含めるべきです。 cURL 7.33.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_DNS_LOCAL_IP6 リゾルバがバインドするべきローカルの IPv6 アドレスを設定します。 この値は、数値の IPv6 アドレスを文字列で含めるべきです。 cURL 7.33.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_EGDSOCKET CURLOPT_RANDOM_FILE と似ていますが、 Entropy Gathering Daemon ソケットを使用してファイル名を生成する点が 違います。
CURLOPT_ENCODING "Accept-Encoding: " ヘッダの内容。 これにより、応答のデコードを可能にします。サポートされる エンコーディングは "identity"、 "deflate" および "gzip" です。もし空文字列 "" が指定された場合、 サポートされるエンコーディングをすべて含むヘッダが送信されます。 cURL 7.10 で追加されました。
CURLOPT_FTPPORT FTP で "PORT" を使用するための IP アドレスを取得する際に使用される値。 "PORT" は、リモートサーバーに対してこちらが指定した IP アドレスに 接続するよう指示します。この値に設定できる内容は IP アドレス、ホスト名、 ネットワークインターフェイス名(Unix)、あるいは単に '-' を指定する ことでシステムのデフォルト IP アドレスを指定します。
CURLOPT_INTERFACE 使用するネットワークインターフェイスの名前。 インターフェイス名、IP アドレスあるいはホスト名が指定可能です。
CURLOPT_KEYPASSWD CURLOPT_SSLKEY あるいは CURLOPT_SSH_PRIVATE_KEYFILE 秘密鍵を使うときに必須となるパスワード。 cURL 7.16.1 で追加されました。
CURLOPT_KRB4LEVEL KRB4(Kerberos 4)セキュリティレベル。以下の値のいずれか (セキュリティの低い順です)が指定可能です。 "clear"、 "safe"、 "confidential"、 "private"。 文字列がこれらのどれでもなかった場合は、 "private" が使用されます。このオプションを NULL にすると KRB4 セキュリティを無効にします。現時点では、KRB4 セキュリティは FTP 転送にのみ使用可能です。
CURLOPT_LOGIN_OPTIONS プロトコル特有のログインオプションを設定するために使えます。 たとえば好ましい認証メカニズムが "AUTH=NTLM" とか "AUTH=*" の場合で、 CURLOPT_USERNAME オプションと組み合わせて使うべき場合です。 cURL 7.34.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_PINNEDPUBLICKEY ピン止めされた公開鍵を設定します。 ピン止めされた公開鍵のファイル名ファイル名を文字列として指定できます。 期待されているファイルフォーマットは "PEM" または "DER" 形式です。 文字列は、 base64 エンコードされた sha256 ハッシュで、 "sha256//" が先頭に付いたものです。これを任意の数だけ指定でき、 ";" で区切られます。 cURL 7.39.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_POSTFIELDS HTTP "POST" で送信するすべてのデータ。 このパラメータは 'para1=val1&para2=val2&...' のように url エンコードされた文字列形式で渡すこともできますし、 フィールド名をキー、データを値とする配列で渡すこともできます。 value が配列の場合、 Content-Type ヘッダには multipart/form-data を設定します。 ファイルは CURLFile を使って送信することが出来ます。 この場合、value は配列でなければなりません。
CURLOPT_PRIVATE この cURL ハンドルに関連づけるデータ。ここで関連づけたデータは、 curl_getinfo() の CURLINFO_PRIVATE オプションで取得できます。 cURL はデータを一切加工しません。 cURL マルチハンドルを使う場合は一般的に、この値が cURL ハンドルを特定する一意なキーとなります。 cURL 7.10.3 で追加されました。
CURLOPT_PRE_PROXY CURLOPT_PROXY で指定された HTTP(S) プロキシにcurlが接続する前に、 事前に接続する preproxy を設定します。 この値には、ホスト名またはドットで区切られた数値のIPアドレスを設定します。 preproxy は SOCKS プロキシだけがなることができ、 どの socks を使うかを指定するために [scheme]:// を先頭に付けます。 数値の IPv6 アドレスは 角括弧 "[]" 内に書かなければいけません。 preproxy にから文字列を設定すると、明示的に preproxy を無効にできます。 この文字列にポート番号を設定するには、 ホスト名の最後に :[port] を追加します。 プロキシのポート番号は別のオプション CURLOPT_PROXYPORT で指定しても構いません。ポート番号を指定しない場合は、 デフォルトでは 1080 を使います。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY リクエストを経由させる HTTP プロキシ。
CURLOPT_PROXY_SERVICE_NAME プロキシ認証サービス名 cURL 7.34.0 で追加されました。PHP 7.0.7 以降で利用可能です。
CURLOPT_PROXY_CAINFO 証明書認証局(CA)バンドルのパス。 HTTPS プロキシを検証するためのひとつ以上の証明書を持つファイル名のパスを string で設定します。 このオプションはHTTPSプロキシに接続するためのもので、 HTTPSサーバに接続するためのものではありません。 デフォルトでは、libcurl の cacert バンドルが保存されていると想定されている システムパスが設定されます。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_CAPATH HTTPSプロキシを検証するための複数のCA証明書が置かれたディレクトリ。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_CRLFILE PEMフォーマットの CRL (Certificate Revocation List, 証明書失効リスト) を連結したファイル名を設定します。 これはSSL通信の際に行われる証明書の検証に使います。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_KEYPASSWD CURLOPT_PROXY_SSLKEY で設定する秘密鍵で使う、 必須のパスワードを設定します。 証明書を読み込むのにパスフレーズは不要ですが、 秘密鍵を読み込むにはパスフレーズが必要です。 このオプションはHTTPSプロキシに接続するために必要です。 HTTPSサーバに接続するためのものではありません。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_PINNEDPUBLICKEY HTTPSプロキシ向けの pinned public key を設定します。 pinned public key のファイル名を文字列で設定できます。 ファイルフォーマットは "PEM" または "DER" です。 base64 エンコードされた sha256 ハッシュ を任意の数だけ "sha256//" の後に続けることもできます。このハッシュは ";" で区切ります。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_SSLCERT HTTPSプロキシに接続する時に使うクライアント証明書のフォーマット。 デフォルトは Secure Transport の場合 "P12" で、 それ以外のエンジンでは "PEM" ですが、 CURLOPT_PROXY_SSLCERTTYPE でも変更できます。 NSS や Secure transport では、 セキュリティデータベースで名付けられた証明書のニックネームも設定できます。 現在のディレクトリにあるファイルを使いたい場合は、 ニックネームとの混乱を避けるため "./" をプレフィックスとして付けてください。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_SSLCERTTYPE HTTPSプロキシに接続する時に使うクライアント証明書のフォーマット。 サポートされているのは "PEM" と "DER" ですが、 Secure Transport はこれらをサポートしていません。 OpenSSL (0.9.3 以降) と Secure Transport (iOS 5 以降, または OS X 10.7 以降) では PKCS#12-encoded ファイル向けに "P12" もサポートしています。デフォルトは "PEM" です。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_SSL_CIPHER_LIST HTTPSプロキシと接続を確立するために使う暗号スイートの一覧。 この一覧はひとつ以上の暗号スイートの文字列がコロンで区切られており、 構文的に正しくなければなりません。 コンマやスペースも区切り文字としては有効ですが、通常はコロンが使われます。 !, - および + が演算子として使えます。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_TLS13_CIPHERS TLS 1.3 接続をプロキシと確立するために使う暗号スイートの一覧。 この一覧はひとつ以上の暗号スイートの文字列がコロンで区切られており、 構文的に正しくなければなりません。 現状、このオプションはcurlが OpenSSL 1.1.1 以降とビルドされた時にだけ使われています。 OpenSSL 以外のSSLバックエンドを使っている場合は、 CURLOPT_PROXY_SSL_CIPHER_LIST オプションを使って TLS 1.3 の暗号スイートを設定できます。 PHP 7.3.0 以降 および cURL >= 7.61.0 と OpenSSL >= 1.1.1 をビルドした場合に使用可能です。
CURLOPT_PROXY_SSLKEY HTTPSプロキシに接続するのに使う秘密鍵のファイル名。 デフォルトのフォーマットは "PEM" で、 そのフォーマットは CURLOPT_PROXY_SSLKEYTYPE で変更できます。 (iOS と Mac OS X のみ) Secure Transport を使って curl がビルドされている場合、 このオプションは無視されます。 PHP 7.3.0 以降 および cURL >= 7.61.0 をビルドした場合、 かつ TLS が有効な場合にのみ使用可能です。
CURLOPT_PROXY_SSLKEYTYPE 秘密鍵のフォーマット。"PEM", "DER" および "ENG" がサポートされています。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_TLSAUTH_PASSWORD CURLOPT_PROXY_TLSAUTH_TYPE オプションで指定したTLS認証メソッド で使うパスワード。 CURLOPT_PROXY_TLSAUTH_USERNAME オプションも設定する必要があります。 PHP 7.3.0 以降 および cURL >= 7.52.0 をビルドした場合に使用可能です。
CURLOPT_PROXY_TLSAUTH_TYPE HTTPS接続で使うTLS認証メソッド。 "SRP" がサポートされています。
注意: TLS の Secure

返値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

注意

注意: 配列を CURLOPT_POSTFIELDS に渡すと、データを multipart/form-data でエンコードします。 一方 URL エンコードされた文字列を渡すと、データを application/x-www-form-urlencoded でエンコードします。

更新履歴

バージョン 説明
7.3.15, 7.4.3 CURLOPT_HTTP09_ALLOWED が追加されました。
7.3.0 CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPT_PRE_PROXY, CURLOPT_PROXY_CAINFO, CURLOPT_PROXY_CAPATH, CURLOPT_PROXY_CRLFILE, CURLOPT_PROXY_KEYPASSWD, CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPT_PROXY_SSLCERT, CURLOPT_PROXY_SSLCERTTYPE, CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPT_PROXY_SSLKEY, CURLOPT_PROXY_SSLKEYTYPE, CURLOPT_PROXY_SSL_OPTIONS, CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPT_PROXY_SSLVERSION, CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPT_SOCKS5_AUTH, CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPT_HAPROXYPROTOCOL, CURLOPT_PROXY_TLS13_CIPHERS, CURLOPT_SSH_COMPRESSION, CURLOPT_TIMEVALUE_LARGE および CURLOPT_TLS13_CIPHERS が追加されました。
7.0.7 CURL_HTTP_VERSION_2, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CURL_HTTP_VERSION_2TLS, CURL_REDIR_POST_301, CURL_REDIR_POST_302, CURL_REDIR_POST_303, CURL_REDIR_POST_ALL, CURL_VERSION_KERBEROS5, CURL_VERSION_PSL, CURL_VERSION_UNIX_SOCKETS, CURLAUTH_NEGOTIATE, CURLAUTH_NTLM_WB, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR_RETRY, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPT_CONNECT_TO, CURLOPT_DEFAULT_PROTOCOL, CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_LOCAL_IP6, CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPT_HEADEROPT, CURLOPT_LOGIN_OPTIONS, CURLOPT_PATH_AS_IS, CURLOPT_PINNEDPUBLICKEY, CURLOPT_PIPEWAIT, CURLOPT_PROXY_SERVICE_NAME, CURLOPT_PROXYHEADER, CURLOPT_SASL_IR, CURLOPT_SERVICE_NAME, CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_FALSESTART, CURLOPT_SSL_VERIFYSTATUS, CURLOPT_STREAM_WEIGHT, CURLOPT_TCP_FASTOPEN, CURLOPT_TFTP_NO_OPTIONS, CURLOPT_UNIX_SOCKET_PATH, CURLOPT_XOAUTH2_BEARER, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROXY_HTTP_1_0, CURLSSH_AUTH_AGENT, CURLSSLOPT_NO_REVOKE が追加されました。

サンプル

例1 新規に cURL セッションを初期化、ウェブページを取得する

// 新しい cURL リソースを作成します $ch = curl_init(); // URL その他のオプションを適切に設定します curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_HEADER, false); // URL の内容を取得し、ブラウザに渡します curl_exec($ch); // cURL リソースを閉じ、システムリソースを開放します curl_close($ch);

参考

  • curl_setopt_array() - CURL 転送用の複数のオプションを設定する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール