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_INFILESIZE
| アップロードされるファイルのサイズ制限をバイト単位で設定します。
|
CURLOPT_LOW_SPEED_LIMIT |
通信速度が | CURLOPT_LOW_SPEED_LIMIT
(bytes/) 未満の場合sec )、PHP は CURLOPT_LOW_SPEED_TIME に基づいて、送信が遅すぎるため送信をキャンセルするかどうかを決定します。
|
CURLOPT_LOW_SPEED_TIME
|
通信速度が CURLOPT_LOW_SPEED_LIMIT | (bytes/) 未満の場合sec )、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_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TF TP、CURLPROTO cURL 7.19 の _ALL
.4を追加しました。ビット フィールドは、 |
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_TF TP、CURLPROTO cURL 7.19 の _ALL |
.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 が使用されます 。
|
次のオプションのオプション パラメータの場合、値は文字列型の値に設定する必要があります:
Options |
Optional valueValue |
備考 |
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
代わりにカスタム リクエスト メッセージを使用してください | " GET" または "HEAD" を HTTP リクエストとして使用します。これは、"DELETE" またはその他の秘密の HTTP リクエストを実行する場合に役立ちます。有効な値には、"GET"、"POST"、"CONNECT" などが含まれます。つまり、HTTP リクエスト全体をここに入力しないでください。たとえば、"GET /index.html HTTP/1.0\r\n\r\n" と入力するのは誤りです。 注:サーバーがこのカスタム リクエスト メソッドをサポートしていることを確認するまでは、このカスタム リクエスト メソッドを使用しないでください。
|
|
CURLOPT_EGDSOCKET
|
CURLOPT_RANDOM_FILE と似ていますが、エントロピーが異なりますデーモンソケットを収集しています。
|
|
CURLOPT_ENCODING | 「Accept-Encoding:」HTTP リクエスト ヘッダーの 価値。サポートされているエンコードは、"identity"、"deflate"、および "gzip" です。空の文字列 "" の場合、リクエスト ヘッダーはサポートされているすべてのエンコード タイプを送信します。 は cURL 7.10 で追加されました。 |
|
CURLOPT_FTPPORT
この値は、FTP の「POST」コマンドに必要な IP アドレスを取得するために使用されます。 「POST」コマンドは、指定した IP アドレスに接続するようにリモート サーバーに指示します。この文字列には、プレーン テキストの IP アドレス、ホスト名、ネットワーク インターフェイス名 (UNIX の場合)、またはデフォルトの IP アドレスを使用するための単なる「-」を指定できます。 |
|
|
CURLOPT_INTERFACE
ネットワーク送信インターフェイス名には、インターフェイス名、IP アドレス、または CPU 名を指定できます。 。 |
|
|
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 |
プロキシへの接続に使用される番号 | "[ユーザー名]:[パスワード]" 形式文字列。
|
CURLOPT_RANDOM_FILE |
SSL 乱数シードの生成に使用されるファイル名。
|
CURLOPT_RANGE |
|
"X-Y" の形式で、X とY は、バイト単位で測定される、取得されるオプションのデータの範囲です。 HTTP 転送スレッドは、 | "X-Y,N-M" など、カンマで区切られたこのような複数の重複もサポートします。
|
CURLOPT_REFERERHTTP リクエスト ヘッダーの | "Referer: " コンテンツ。
|
#CURLOPT_SSL_CIPHER_LIST |
SSL 暗号化アルゴリズムのリスト。たとえば、RC4-SHA | と TLSv1 は両方とも使用可能な暗号化リストです。 |
|
CURLOPT_SSLCERTPEM 形式の証明書を含むファイルの名前。
|
|
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 のパスワード秘密鍵。
注 :
このオプションには機密のパスワード情報が含まれているため、この PHP スクリプトを安全に保管してください。
|
CURLOPT_SSLKEYTYPE |
CURLOPT_SSLKEY の暗号化タイプ秘密キー。サポートされているキーのタイプは、"PEM" | (デフォルト値)、"DER"、および "ENG" です。
|
CURLOPT_URL
|
取得する必要がある URL アドレスは、curl_init でも取得できます。 ()関数に設定します。
|
| CURLOPT_USERAGENT
| HTTP リクエストに "User-Agent: "# を含めます # #ヘッダー文字列。
|
CURLOPT_USERPWD |
接続に必要なユーザー名とパスワードを次の形式で渡します: " [ユーザー名パスワード]"###。 |
|
次のオプションのオプションのパラメータの値は、配列に設定する必要があります:
|
オプション |
オプション値 値備考
|
# #CURLOPT_HTTP200ALIASES
| 200 応答コード配列。配列内の応答は正しい応答とみなされ、それ以外の場合はエラーとみなされます。 | は cURL 7.10.3 で追加されました。
CURLOPT_HTTPHEADER
| HTTP ヘッダー フィールドの設定に使用される配列。次の形式の配列を使用して設定します。
array('Content-type: text/plain', 'Content-length: 100') |
|
##CURLOPT_POSTQUOTE | FTP リクエストの実行後にサーバー上で実行される一連の FTP コマンド。 |
|
CURLOPT_QUOTE
#FTP リクエストの前にサーバー上で実行される一連の FTP コマンド。 |
|
|
次のオプションのオプション パラメータの場合、値はストリーム リソースに設定する必要があります (たとえば、fopen() を使用):
Options |
オプション valuevalue |
CURLOPT_FILE |
出力ファイルの場所を設定します。値は 1 つのリソース タイプで、デフォルトは STDOUT (ブラウザ) です。 |
CURLOPT_INFILE |
ファイルをアップロードするときに読み取る必要があるファイル アドレス。値はリソース タイプです。 |
CURLOPT_STDERR |
エラー出力アドレスを設定します。値はリソース タイプであり、デフォルトの STDERR を置き換えます。 |
CURLOPT_WRITEHEADER |
ヘッダー部分が書き込まれるファイルアドレスを設定します。値はリソースタイプです。 |
次のオプションのオプション パラメータの値は、コールバック関数名に設定する必要があります:
オプション |
OptionalvalueValue |
##CURLOPT_HEADERFUNCTION
| コールバック関数を 1 つ設定します。この関数には 2 つのパラメータがあり、1 つ目は cURL リソース ハンドル、2 つ目は出力ヘッダー データです。ヘッダー データの出力は、書き込まれたデータのサイズを返すこの関数に依存する必要があります。 |
CURLOPT_PASSWDFUNCTION
| 3 つのパラメータを使用してコールバック関数を設定します。1 つ目は cURL リソース ハンドルで、2 つ目はパスワード プロンプトです。 、3 番目のパラメータは、許可されるパスワードの最大長です。パスワードの値を返します。 |
CURLOPT_PROGRESSFUNCTION
| 3 つのパラメータを使用してコールバック関数を設定します。1 つ目は cURL のリソース ハンドルで、2 つ目はファイルの説明です。文字リソース、3 番目は長さです。含まれているデータを返します。 |
CURLOPT_READFUNCTION
| コールバック関数名。この関数は 3 つのパラメータを受け入れる必要があります。 1 つ目は cURL リソース、2 つ目はオプション経由です
CURLOPT_INFILE cURL に渡されるストリーム リソース。3 番目のパラメータは、読み取ることができるデータの最大量です。戻る
呼び出し関数は、要求されたデータ量 (3 番目のパラメーター) 以下の長さの文字列を返す必要があります。通常、受信ストリームから
リソースが読み取られました。空の文字列を EOF (ファイルの終わり) 信号として返します。
|
CURLOPT_WRITEFUNCTION
| コールバック関数名。この関数は 2 つのパラメータを受け入れる必要があります。 1 つ目は cURL リソース、2 つ目は書き込まれるデータ文字列です。番号
データは関数内に保存する必要があります。この関数は、データを書き込むために渡された正確なバイト数を返す必要があります。返さない場合、転送はエラーになります。
壊す。 |
#戻り値
成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
更新ログ
バージョン
説明 |
|
5.2.10
導入されました |
CURLOPT_PROTOCOLS および CURLOPT_REDIR_PROTOCOLS.
| 5.1.0
はじめに |
CURLOPT_AUTOREFERER、 CURLOPT_BINARYTRANSFER、 CURLOPT_FTPSSLAUTH、 CURLOPT_PROXYAUTH、および CURLOPT_TIMECONDITION.
|
5.0.0
はじめに |
CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, #CURLOPT_PROXYTYPE 、 CURLOPT_SSLCERTTYPE、および CURLOPT_HTTP200ALIASE#.
实例
初始化一个新的cURL会话并获取一个网页 <?php
// 创建一个新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);
?> 上传文件实例: <?php
/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/
$ch = curl_init();
$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
?> 以上实例输出结果如下: Array
(
[name] => Foo
)
Array
(
[file] => Array
(
[name] => test.png
[type] => image/png
[tmp_name] => /tmp/phpcpjNeQ
[error] => 0
[size] => 279
)
) 注释
传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。
推荐学习:《PHP视频教程》
##
');
var statusdiv=$('#comment-status');
commentform.submit(function(e){
e.preventDefault();
var noteContent = editor.getValue();
// console.log(noteContent);
noteContent = noteContent.replace(/<code>/g,"<pre class="brush:php;toolbar:false">");
noteContent = noteContent.replace(//g," ");
// 系列化表单数据
var comment_parent = 0;
var is_user_logged_in = $("#is_user_logged_in").val();
var comment_post_ID = 6085;
var _wp_unfiltered_html_comment = $("#_wp_unfiltered_html_comment").val();
var comment = noteContent;
var author = $("#author").val();
var url = $("#url").val();
var email = $("#email").val();
if(isBlank(author) && is_user_logged_in==0) {
statusdiv.html('请输入昵称! ').show();
} else if(isBlank(email) && is_user_logged_in==0) {
statusdiv.html('请输入邮箱! ').show();
} else {
// var formdata=commentform.serialize() + "&comment=" + noteContent ;
// 添加状态信息
statusdiv.html('Processing... ').show();
// 获取表单提交地址
var formurl=commentform.attr('action');
// 异步提交
$.ajax({
type: 'post',
url: formurl,
dataType:'json',
data: {"comment_parent":comment_parent,"comment_post_ID":comment_post_ID, "_wp_unfiltered_html_comment":_wp_unfiltered_html_comment,"comment":comment,"url":url, "email":email,"author":author},
error: function(XMLHttpRequest, textStatus, errorThrown){
statusdiv.html('数据不完整或表单提交太快了! ').show();
},
success: function(data, textStatus){
if(data.errorno=="0") {
$("#submit").prop('disabled', true);
statusdiv.html('笔记已提交审核,感谢分享笔记! ').show();
alert('笔记已提交审核,感谢分享笔记!');
}else{
statusdiv.html(''+data.msg+' ').show();
}
commentform.find('textarea[name=comment]').val('');
}
});
setTimeout(function(){
$("#submit").prop('disabled', false);
}, 10*1000);
}
return false;
});
$(".comt-author").click(function() {
href = $(this).children("a").attr("href");
if(href.indexOf("/note/")!=-1) {
var win = window.open(href, '_blank');
win.focus();
}
});
$(".comt-meta span").hover(function(){
$(this).children(".tooltip").css({ "opacity": 1, "pointer-events": "auto"});
},function(){
$(this).children(".tooltip").removeAttr("style");
});
/*
$(".wrapper i").hover(function(){
$(this).siblings(".tooltip").css({ "opacity": 1, "pointer-events": "auto"});
},function(){
$(this).siblings(".tooltip").css({ "opacity": 0, "pointer-events": "auto"});
});
*/
//Upvote.create('runoobvote-id', {callback: vote_callback});
var ajaxurl = 'https://www.runoob.com/wp-admin/admin-ajax.php';
var callback = function(data) {
//console.log($('#runoobvote-id').upvote('upvoted'));
//console.log($('#runoobvote-id').upvote('downvoted'));
//console.log(data);
_vote_action = data.action;
id_arr = data.id.split('-');
um_id= id_arr[2];
//console.log(um_id);
var re = /^[1-9]+/;
if (re.test(um_id)) {
var ajax_data = {
_vote_action: _vote_action,
action: "pinglun_zan",
um_id: um_id,
um_action: "ding"
};
//console.log(ajax_data);
$.post(ajaxurl,ajax_data,function(status){
//if(status.vote_num>999) {
// _voteHtml = ''+kFormatter(status.vote_num) +'';
// $("#runoobvote-id-" + um_id + " .count").hide().after(_voteHtml);
//}
});
}
};
if($('#comments').length){
$('.upvotejs').upvote({id: 6085, callback: callback});
$.post(ajaxurl,{"action":"pinglun_zan","postid":6085},function(data){
$(data).each(function(key,value) {
$("#runoobvote-id-" + value.commid + " .upvote").addClass(value.upvotejs_class);
$("#runoobvote-id-" + value.commid + " .downvote").addClass(value.downvote_class);
$("#runoobvote-id-" + value.commid + " .count").text(value.upvote_count);
})
},'json');
}
});
function isBlank(str) {
return (!str || /^\s*$/.test(str));
}
function kFormatter(num) {
// return num;
return Math.abs(num) > 999 ? Math.sign(num)*((Math.abs(num)/1000).toFixed(1)) + 'k' : Math.sign(num)*Math.abs(num)
}
|
|