ホームページ > バックエンド開発 > PHPチュートリアル > PHP CURLの使い方を詳しく解説

PHP CURLの使い方を詳しく解説

WBOY
リリース: 2016-06-20 13:01:39
オリジナル
1127 人が閲覧しました

1. Curl_setop() 関数のパラメーターの説明

*CURLOPT_INFILESIZE: ファイルをリモート サイトにアップロードするとき、このオプションはアップロードしたファイルのサイズを PHP に伝えます。

*CURLOPT_VERBOSE: CURL にすべての予期しないイベントを報告させたい場合は、このオプションをゼロ以外の値に設定します。

*CURLOPT_HEADER: 出力にヘッダーを含める場合は、このオプションをゼロ以外の値に設定します。

*CURLOPT_NOPROGRESS: PHP に CURL 転送の進行状況バーを表示させたくない場合は、このオプションをゼロ以外の値に設定します。注: PHP はこのオプションをゼロ以外の値に自動的に設定します。このオプションはデバッグ目的でのみ変更してください。

*CURLOPT_NOBODY: 出力に本文部分を含めたくない場合は、このオプションをゼロ以外の値に設定します。

*CURLOPT_FAILONERROR: エラーが発生した場合 (HTTP コードが 300 以上を返す場合)、PHP を表示しないようにするには、このオプションをゼロ以外の値に設定します。デフォルトの動作では、通常のページが返され、コードは無視されます。

*CURLOPT_UPLOAD: PHP にアップロードの準備をさせたい場合は、このオプションをゼロ以外の値に設定します。

*CURLOPT_POST: PHP に通常の HTTPPOST を実行させたい場合は、このオプションをゼロ以外の値に設定します。この POST は通常の application/x-www-from-urlencoded タイプで、主に HTML フォームで使用されます。

*CURLOPT_FTPLISTONLY: このオプションをゼロ以外の値に設定すると、PHP は FTP ディレクトリ名のリストを表示します。

*CURLOPT_FTPAPPEND: このオプションをゼロ以外の値に設定すると、PHP はリモート ファイルを上書きせずに適用します。

*CURLOPT_NETRC: このオプションをゼロ以外の値に設定すると、PHP は ~./netrc ファイル内で接続先のリモート サイトのユーザー名とパスワードを検索します。

*CURLOPT_FOLLOWLOCATION: このオプションをゼロ以外のヘッダー (「Location:」など) に設定すると、サーバーはそれを HTTP ヘッダーの一部として送信します (これは再帰的であることに注意してください。PHP は次のようなものを送信します)場所: 「ヘッダー」)。

*CURLOPT_PUT: HTTP を使用してファイルをアップロードするには、このオプションをゼロ以外の値に設定します。このファイルをアップロードするには、CURLOPT_INFILE および CURLOPT_INFILESIZE オプションを設定する必要があります。

*CURLOPT_MUTE: このオプションをゼロ以外の値に設定すると、PHP は CURL 関数に対して完全にサイレントになります。

*CURLOPT_TIMEOUT: 最大秒数として長整数を設定します。

*CURLOPT_LOW_SPEED_LIMIT: 送信されるバイト数を制御する長整数を設定します。

*CURLOPT_LOW_SPEED_TIME: CURLOPT_LOW_SPEED_LIMIT で指定されたバイト数を送信する秒数を制御する長整数を設定します。

*CURLOPT_RESUME_FROM: バイト オフセット アドレス (転送先の開始フォーム) を含む長いパラメータを渡します。

*CURLOPT_SSLVERSION: SSL バージョンを含む長いパラメーターを渡します。デフォルトでは、PHP は独自のハードワークを実行しますが、セキュリティを強化するには手動で設定する必要があります。

*CURLOPT_TIMECONDITION: 長いパラメーターを渡して、CURLOPT_TIMEVALUE パラメーターの処理方法を指定します。このパラメータは TIMECOND_IFMODSINCE または TIMECOND_ISUNMODSINCE に設定できます。これはHTTPのみの場合です。

*CURLOPT_TIMEVALUE: 1970 年 1 月 1 日から現在までの秒数を渡します。この時間は、CURLOPT_TIMEVALUE オプション、またはデフォルトの TIMECOND_IFMODSINCE によって指定された値として使用されます。次のオプションの値は文字列として扱われます:

*CURLOPT_URL: これは、PHP を使用して取得する URL アドレスです。このオプションは、curl_init() 関数を使用した初期化中に設定することもできます。

*CURLOPT_USERPWD: [ユーザー名]:[パスワード] の形式で文字列を渡し、PHP を使用して接続します。

*CURLOPT_PROXYUSERPWD: [ユーザー名]:[パスワード] の形式で文字列を渡し、HTTP プロキシに接続します。

*CURLOPT_RANGE: 指定したい範囲を渡します。 X または Y を除いた「X-Y」形式である必要があります。 HTTP 転送では、カンマ (X-Y、N-M) で区切られた複数の間隔もサポートされます。

*CURLOPT_POSTFIELDS: すべてのデータを含む文字列を HTTP "POST" 操作として渡します。

*CURLOPT_REFERER: HTTP リクエスト内の「リファラー」ヘッダーを含む文字列。 *CURLOPT_USERAGENT: HTTP リクエスト内の「user-agent」ヘッダーを含む文字列。

*CURLOPT_FTPPORT: ftp の「POST」コマンドで使用される IP アドレスを含む IP アドレスを渡します。この POST コマンドは、指定した IP アドレスに接続するようにリモート サーバーに指示します。この文字列には、IP アドレス、ホスト名、ネットワーク インターフェイス名 (UNIX の場合)、または「-」 (システムのデフォルトの IP アドレスを使用) を指定できます。

*CURLOPT_COOKIE: HTTP Cookie を含むヘッダー接続を渡します。

*CURLOPT_SSLCERT: 証明書を含む文字列を PEM 形式で渡します。

*CURLOPT_SSLCERTPASSWD: CURLOPT_SSLCERT 証明書を使用するために必要なパスワードを含むパスワードを渡します。

*CURLOPT_COOKIEFILE: Cookie データを含むファイルの名前を含む文字列を渡します。この Cookie ファイルは、Netscape 形式であることも、ファイルに保存されている HTTP スタイルのヘッダーのスタックであることもできます。

*CURLOPT_CUSTOMREQUEST: HTTP リクエストを行うときに、GET または HEAD で使用される文字を渡します。 HTTPrequest を実行するときに GET または HEAD の代わりに使用される Passa 文字列。これは、または別のよりわかりにくい HTTPrequest を実行する場合に便利です。

注: サーバーがコマンドをサポートしている場合は、まだこれを実行しないでください。 。

次のオプションには、ファイルの説明 (fopen() 関数を使用して取得) が必要です:

*CURLOPT_FILE: このファイルは送信した出力ファイルになります。

*CURLOPT_INFILE: このファイルは送信した入力ファイルになります。

*CURLOPT_WRITEHEADER: このファイルには出力のヘッダー部分が含まれます。

*CURLOPT_STDERR: このファイルには、stderr の代わりにエラーが書き込まれています。

ログインが必要なページを取得するために使用される例。現在の方法では、毎回ログインする必要がある場合は改善されます:)

例:

<p>$cookie_jar = tempnam('./tmp','cookie');</p><p>$ch = curl_init(); </p><p>curl_setopt($ch,CURLOPT_URL,'http://******');</p><p>curl_setopt($ch, CURLOPT_POST, 1);</p><p>$request = 'email_address=&password=&action=';</p><p>curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//把返回来的cookie信息保存在$cookie_jar文件中</p><p>curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);//设定返回的数据是否自动显示</p><p>curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设定是否显示头信息</p><p>curl_setopt($ch, CURLOPT_HEADER, false);//设定是否输出页面内容</p><p>curl_setopt($ch, CURLOPT_NOBODY, false);curl_exec($ch);</p><p>curl_close($ch); //get data after login$ch2 = curl_init();</p><p>curl_setopt($ch2, CURLOPT_URL, 'http://*****');</p><p>curl_setopt($ch2, CURLOPT_HEADER, false);</p><p>curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);</p><p>curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar);</p><p>curl_setopt($ch2, CURLOPT_VERBOSE, 1);<br /></p><p>$err= fopen(dirname(__FILE__), 'w+');<br /></p><p>curl_setopt($ch2, CURLOPT_STDERR, $err);<br /></p><p>$orders = curl_exec($ch2);</p><p>echo strip_tags($orders);</p><p>curl_close($ch2);  </p>
ログイン後にコピー

強力なカール関数 - Cookie リクエストのシミュレート Cookie ブラッシングの例をシミュレートします:

<p>$ch = curl_init();//保存该次请求的cookie内容到文件cookie.txt</p><p>curl_setopt($ch, CURLOPT_COOKIEJAR, "E:/cookie.txt");///要请求的链接,此链接请求后必须会写cookie到客户端(一般这样的链接均为登陆验证页面,可以用httpWatch抓取url和需要post的数据)</p><p>curl_setopt($ch, CURLOPT_URL,"http://www.mynit.net/login.php");</p><p>curl_setopt($ch, CURLOPT_POST, 1);</p><p>curl_setopt($ch, CURLOPT_POSTFIELDS,“xx”)//xx代表要post出去的数据ob_start();       //开启浏览器缓存</p><p>curl_exec ($ch);</p><p>ob_end_clean();   //输出全部内容到浏览器</p><p>curl_close ($ch);</p><p>unset($ch);</p><p>$ch = curl_init();</p><p>curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//把原先产生的cookie文件,作为这次请求的cookie</p><p>curl_setopt($ch, CURLOPT_COOKIEFILE, "E:/cookie.txt");//此链接为你要做的操作获得验证的链接,比如回复贴子处理页面</p><p>curl_setopt($ch, CURLOPT_URL,"http://www.mynit.net/post.php");</p><p>curl_setopt($ch, CURLOPT_POST, 1);</p><p>curl_setopt($ch, CURLOPT_POSTFIELDS, "xx");//xx代表要post出去的数据///执行操作,如刷贴,如果要猛刷的就循环1000次,不够可以加。</p><p>$buf2 = curl_exec ($ch);</p><p>curl_close ($ch);</p><p>echo $buf2;//返回结果</p>
ログイン後にコピー

<p><?php   </p><p>/*#cookie用法*/      </p><p>$cookie_jar = tempnam('./tmp','cookie1');   // login   </p><p>$c=curl_init('http://www.nbchem.com/user/login.php?user=yourname&password=pwd&act=1');   </p><p>curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);   </p><p>curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);   </p><p>curl_exec($c);   curl_close($c);         </p><p>$c="http://www.nbchem.com/vip/";   </p><p>$c=curl_init($c);   </p><p>curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);   </p><p>curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);   </p><p>$res=curl_exec($c);   </p><p>curl_close($c);   </p><p>echo $res;   </p><p>?>  </p>
ログイン後にコピー

2. PHP の CURL 関数ライブラリ (クライアント URL ライブラリ関数)

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() 関数によって返されるハンドルです。

curl_getinfo() 関数には 2 つのパラメータがあります。最初のパラメータはcurlのリソースハンドルで、2番目のパラメータは次の定数です:

オプションの定数は次のとおりです:


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 のセッション パラメータを配列形式で設定するために使用されます。コンテンツをクリップボードにコピーします PHP コード: 'http://www.baidu.com/',CURLOPT_HEADER => false);curl_setopt_array($ch, $options);curl_exec($ch);curl_close($ch);fclose($fp) ;?> 設定できるパラメータは次のとおりです:

CURLOPT_AUTOREFERER
ヘッダーにリファラー情報を自動的に設定します

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

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_FRESH_CONNECT
キャッシュ内の接続を置き換えるために新しい接続を強制的に取得します。

CURLOPT_FTP_USE_EPRT
アクティブな FTP ダウンロードを実行するときに EPRT (および LPRT) を使用するには、FALSE を使用します。EPRT と LPRT を無効にし、PORT のみを使用します。
PHP 5.0.0 で追加されました。

CURLOPT_FTP_USE_EPSV
TRUE に設定すると、PASV に戻る前に最初に FTP 転送の EPSV コマンドが試行されます。

CURLOPT_FTPAPPEND
TRUE に設定すると、EPSV が上書きされずに追加されます。 .

CURLOPT_FTPASCII
CURLOPT_TRANSFERTEXT のエイリアスを代わりに使用してください。 >有効にすると、ヘッダー ファイル情報がデータ ストリームとして出力されます。

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 マルチスレッド送信時にデフォルトでオンになります。

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

CURLOPT_PUT
有効にすると、HTTP で CURLOPT_INFILE と CURLOPT_INFILESIZE を同時に設定する必要があります。

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

CURLOPT_SSL_VERIFYPEER
FALSE を使用すると、cURL がピアの証明書を検証することを停止できます。検証する代替証明書を CURLOPT_CAINFO オプションで指定するか、証明書ディレクトリを CURLOPT_CAPATH オプションで指定することも必要です。 CURLOPT_SSL_VERIFYPEER が無効の場合は TRUE または FALSE (デフォルトは 2)。cURL 7.10 以降にインストールされたデフォルトのバンドルは、FTP 転送に ASCII モードを使用します。 Windows システムでは、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 に決定させる)。 🎜>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
使用する HTTP 検証メソッド、オプションの値ありCURLAUTH_BASIC、CURLAUTH_DIGEST、CURLAUTH_GSSNEGOTIATE、CURLAUTH_NTLM、CURLAUTH_ANY、CURLAUTH_ANYSAFE を使用すると、サーバーは CURLAUTH_BASIC | CURLAUTH_GSSNEGOTIATE と同等の値を選択できます。 | カール認証_NTLM、 CURLAUTH_ANYSAFE CURLAUTH_DIGEST と同等 | CURLAUTH_NTLM

CURLOPT_INFILESIZE
転送速度が CURLOPT_LOW_SPEED_L 未満の場合IMIT、PHP は LOPT_LOW_SPEED_TIME して、遅すぎるため、転送がキャンセルされました。

CURLOPT_LOW_SPEED_TIME
PHP が転送が遅すぎるとみなして転送を中止するには、転送の秒数が CURLOPT_LOW_SPEED_LIMIT を下回っている必要があります。

CURLOPT_MAXCONNECTS
許可される接続の最大数を超えた場合、CURLOPT_CLOSEPOLICY を使用してどの接続を停止するかを決定します。

CURLOPT_MAXREDIRS
HTTP リダイレクトの最大数を指定します。オプションは、一緒に使用される CURLOPT_FOLLOWLOCATION と同じです。

CURLOPT_PORT
接続ポートの指定に使用されるオプションの数量

CURLOPT_PROXYAUTH
プロキシ接続に使用する HTTP 認証方法。で説明されているものと同じビットマスクを使用します。 CURLOPT_HTTPAUTH。現在、CURLAUTH_BASIC と CURLAUTH_NTLM のみがサポートされています。

CURLOPT_PROXYPORT
このポート番号は、CURLOPT_PROXY でも設定できます。 CURLOPT_PROXYTYPE
CURLPROXY_HTTP (デフォルト) または CURLPROXY_SOCKS5 のいずれか。

CURLOPT_RESUME_FROM
転送を再開するときにバイト オフセットを渡します (転送の再開に使用されます)

CURLOPT_SSL_VERIFYHOST
1 にチェックするSSL ピア証明書内の共通名の存在。
2 は共通名の存在を確認し、指定されたホスト名と一致することも確認します。

CURLOPT_SSLVERSION
SSL バージョン (2 または3) デフォルトでは PHP がこれを決定しようとしますが、場合によってはこれを手動で設定する必要があります。CURLOPT_TIMEVALUE で指定された一定の時間が経過した後にページが編集された場合、CURL_TIMECOND_IFMODSINCE が使用され、ページが変更されておらず、CURLOPT_HEADER が true の場合は、「304 Not Modified」ヘッダーが返されます。CURLOPT_HEADER が false の場合、CURL_TIMECOND_ISUNMODSINCE が使用されます。デフォルト値は CURL_TIMECOND_IFMODSINCE です

CURLOPT_TIMEOUT
curl の実行を許可する最大秒数を設定します

CURLOPT_TIMEVALUE
デフォルトでは CURL_TIMECOND_IFMODSINCE です。 >
CURLOPT_CAINFO
ピアを検証するための 1 つ以上の証明書を保持するファイルの名前。

CURLOPT_CAPATH
複数の証明書を保持するディレクトリ。 CA 証明書。このオプションを CURLOPT_SSL_VERIFYPEER と一緒に使用します。

CURLOPT_COOKIE
HTTP リクエストの「Set-Cookie:」部分の内容を設定します。

CURLOPT_COOKIEFILE
Cookie 情報を含むファイルの名前は、Netscape 形式または HTTP 形式のヘッダー情報です。

CURLOPT_COOKIEJAR
接続が閉じられた後、Cookie 情報を保存するファイル名

CURLOPT_CUSTOMREQUEST
実行時に "GET" または "HEAD" の代わりに使用するカスタム リクエスト メソッドHTTP リクエスト。これは、「DELETE」またはその他のよりあいまいな HTTP リクエストを実行する場合に便利です。つまり、HTTP リクエスト全体を入力しないでください。たとえば、「GET /index.html HTTP/1.0rnrn」と入力するのは誤りです。
注: 最初にサーバーがカスタム リクエスト メソッドをサポートしていることを確認せずにこれを実行しないでください。 CURLOPT_EGBSOCKET
エントロピー収集デーモンソケットへのファイル名を除き、CURLOPT_RANDOM_FILE と同様です。

CURLOPT_ENCODING
ヘッダーの「Accept-Encoding:」部分の内容は次のとおりです。 "、"deflate"、"gzip "。空の文字列に設定すると、すべてのエンコード形式がサポートされることを意味します

CURLOPT_FTPPORT
FTP の「POST」命令に使用する IP アドレスを取得するために使用される値。この命令は、指定された IP アドレスに接続するようにリモート サーバーに指示します。文字列は、プレーンな IP アドレス、ホスト名、ネットワーク インターフェイス名 (Unix の場合)、またはシステムのデフォルトの IP アドレスを使用するための単なる '-' です。

CURLOPT_INTERFACE
外部ネットワーク インターフェイスで使用される名前。インターフェイス名、IP、またはホスト名を指定できます。

CURLOPT_KRB4LEVEL
KRB4 (Kerberos 4) セキュリティ レベル設定。「clear」、「safe」、「confidential」、「private」のいずれかの値になります。デフォルト値は「private」です。null に設定すると、KRB4 セキュリティは FTP 送信でのみ使用できるようになります。

CURLOPT_POSTFIELDS
HTTP の「POST」操作。ファイルを転送する場合は、@

CURLOPT_PROXY
で始まるファイル名が必要です。プロキシ サーバーに接続するには、

CURLOPT_PROXYUSERPWD
を介して HTTP プロキシ サーバーを設定します。形式は「[ユーザー名 ]:[パスワード]」のユーザー名とパスワードです。

CURLOPT_RANDOM_FILE
SSLに使用する乱数の種を格納するファイル名を設定

CURLOPT_RANGE
HTTPの送信範囲を「」の形式で設定できます。 X-Y"。複数の HTTP 転送がある場合は、「X-Y,N-M」のように、カンマを使用して複数の値を区切ります。

CURLOPT_REFERER
ヘッダーの「Referer:」部分の値を設定します。

CURLOPT_SSL_CIPHER_LIST
SSL に使用する暗号のリスト。たとえば、RC4-SHA と TLSv1 は有効な暗号リストです。

CURLOPT_SSLCERT
PEM 形式の証明書を含む文字を渡します。弦。

CURLOPT_SSLCERTPASSWD
CURLOPT_SSLCERT 証明書を使用するために必要なパスワードを含むパスワードを渡します。

CURLOPT_SSLCERTTYPE
サポートされている形式は、「PEM」(デフォルト)、「DER」、および「ENG」です。

CURLOPT_SSLENGINE
暗号の識別子。 CURLOPT_SSLKEY で指定された秘密 SSL キーのエンジン。

CURLOPT_SSLENGINE_DEFAULT
非対称 SSL キーに使用される暗号化エンジンの識別子。

CURLOPT_SSLKEYPASSWD
。 CURLOPT_SSLKEY で指定された秘密 SSL キーを使用します。
注: このオプションには機密性の高いパスワードが含まれるため、含まれている PHP スクリプトを安全な場所に保管してください。

CURLOPT_SSLKEYTYPE
秘密のキーのタイプ。 CURLOPT_SSLKEY で指定された SSL キー。サポートされているキーの種類は、「PEM」(デフォルト)、「DER」、および「ENG」です。需要获取的URL地址,也可以在PHP的curl_init()函数中设置。

CURLOPT_USERAGENT
在HTTP请求中包含一个”user-agent”头的字符串。

CURLOPT_USERPWD
传递一个连接中需要的用户名和密码,格式为:“[username]:[password]”。

CURLOPT_HTTP200ALIASES
设置不再以error的形式来处理HTTP 200的响应,格式为一个数组。

CURLOPT_HTTPHEADER
设置一个header中传输内容的数组。

CURLOPT_POSTQUOTE
An array of FTP commands to execute on the server after the FTP request has been performed.

CURLOPT_QUOTE
An array of FTP commands to execute on the server prior to the FTP request.

CURLOPT_FILE
设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。

CURLOPT_INFILE
在上传文件的时候需要读取的文件地址,值是一个资源类型。

CURLOPT_STDERR
设置一个错误输出地址,值是一个资源类型,取代默认的STDERR。

CURLOPT_WRITEHEADER
设置header部分内容的写入的文件地址,值是一个资源类型。

CURLOPT_HEADERFUNCTION
设置一个回调函数,这个函数有两个参数,第一个是curl的资源句柄,第二个是输出的header数据。header数据的输出必须依赖这个函数,返回已写入的数据大小。

CURLOPT_PASSWDFUNCTION
设置一个回调函数,有三个参数,第一个是curl的资源句柄,第二个是一个密码提示符,第三个参数是密码长度允许的最大值。返回密码的值。

CURLOPT_READFUNCTION
设置一个回调函数,有两个参数,第一个是curl的资源句柄,第二个是读取到的数据。数据读取必须依赖这个函数。返回读取数据的大小,比如0或者EOF。

CURLOPT_WRITEFUNCTION
设置一个回调函数,有两个参数,第一个是curl的资源句柄,第二个是写入的数据。数据写入必须依赖这个函数。返回精确的已写入数据的大小

curl_copy_handle()函数的作用是拷贝一个curl连接资源的所有内容和参数复制内容到剪贴板PHP 代码:curl_error()函数的作用是返回一个包含当前会话错误信息的字符串。
curl_errno()函数的作用是返回一个包含当前会话错误信息的数字编号。

curl_multi_init()函数的作用是初始化一个curl批处理句柄资源。
curl_multi_add_handle()函数的作用是向curl批处理会话中添加单独的curl句柄资源。
curl_multi_add_handle()函数有两个参数,第一个参数表示一个curl批处理句柄资源,第二个参数表示一个单独的curl句柄资源。
curl_multi_exec()函数的作用是解析一个curl批处理句柄。
curl_multi_exec()函数有两个参数,第一个参数表示一个批处理句柄资源,第二个参数是一个引用值的参数,表示剩余需要处理的单个的curl句柄资源数量。
curl_multi_remove_handle()函数表示移除curl批处理句柄资源中的某个句柄资源。
curl_multi_remove_handle()函数有两个参数,第一个参数表示一个curl批处理句柄资源,第二个参数表示一个单独的curl句柄资源。

curl_multi_close()函数的作用是关闭一个批处理句柄资源。

<p><?php</p><p>$ch1 = curl_init();</p><p>$ch2 = curl_init()</p><p>;curl_setopt($ch1, CURLOPT_URL, "http://www.baidu.com/");</p><p>curl_setopt($ch1, CURLOPT_HEADER, 0);</p><p>curl_setopt($ch2, CURLOPT_URL, "http://www.google.com/");</p><p>curl_setopt($ch2, CURLOPT_HEADER, 0);</p><p>$mh = curl_multi_init();</p><p>curl_multi_add_handle($mh,$ch1);</p><p>curl_multi_add_handle($mh,$ch2);</p><p>do {curl_multi_exec($mh,$flag);} while ($flag > 0);</p><p>curl_multi_remove_handle($mh,$ch1);</p><p>curl_multi_remove_handle($mh,$ch2);</p><p>curl_multi_close($mh);</p><p>?></p>
ログイン後にコピー

curl_multi_getcontent()函数的作用是在设置了CURLOPT_RETURNTRANSFER的情况下,返回获取的输出的文本流。


curl_multi_info_read()函数的作用是获取当前解析的curl的相关传输信息。

curl_multi_select()
Get all the sockets associated with the cURL extension, which can then be "selected"


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