英語版
このページの英語版を見る

etc.c.curl

これは libcurl ライブラリへのインターフェースである。
htodによってcurlヘッダーからDに変換され、Jonas Drewsenによってクリーンアップされた。 Jonas Drewsen (jdrewsen) によってクリーンアップされた。
Windows x86の注釈:: DMD互換のlibcurlスタティックライブラリは、dlang.orgのダウンロードページからダウンロードできる。 ダウンロードページからダウンロードできる。
Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
本ソフトウェアは、本ディストリビューションの一部としてあなたが受け取っているはずの「COPYING」ファイルに記載されているとおりにライセンスされている。 本ソフトウェアは、この配布物の一部としてあなたが受け取ったはずのファイル「COPYING」に記載されているとおりにライセンスされている。条件は は、http://curl.haxx.se/docs/copyright.html からも入手できる。
本ソフトウェアのコピーを使用、複製、変更、結合、出版、頒布、および/または販売することを選択することができる。 本ソフトウェアのコピーを使用、変更、結合、公開、配布、および/または販売することを選択することができる。 また、本ソフトウェアが提供される人物に対して、「コピー」ファイルの条項のもと、そのような行為を許可することができる。
本ソフトウェアは「現状有姿」で頒布され、明示または黙示を問わずいかなる保証も行わない。 本ソフトウェアは「現状有姿」で配布される。
enum string LIBCURL_COPYRIGHT;
これはグローバルパッケージの著作権である。
enum string LIBCURL_VERSION;
このヘッダーファイルが作成された libcurl パッケージのバージョン番号である。 のバージョン番号である:
enum int LIBCURL_VERSION_MAJOR;

enum int LIBCURL_VERSION_MINOR;

enum int LIBCURL_VERSION_PATCH;
数値バージョン番号は、以下の 定数
enum int LIBCURL_VERSION_NUM;
これは libcurl のバージョン番号の数値バージョンで、プログラムによる解析や比較を容易にするためのものである。 の数値バージョンである。LIBCURL_VERSION_NUM 定義は、常に次の構文に従う。 は常にこの構文に従う:
0xXXYYZZ
XX、YY、ZZは、16進数(それぞれ8ビットを使用)のメインバージョン、リリース、パッチ番号である。 16進数(それぞれ8ビット使用)である。この3つの番号は常に2桁で表される。 2桁で表される。 1.2は "0x010200"と表示され、バージョン9.11.7は "0x090b07"と表示される。 は「0x090b07」と表示される。
この6桁(24ビット)の16進数は、リリース前の番号を示していない、 この6桁(24ビット)の16進数はリリース前の番号を示すものではなく、より新しいリリースでは常に大きな数字となる。これにより よりも大きい、よりも小さいという比較ができる。
enum string LIBCURL_TIMESTAMP;
これはフルソースパッケージが作成された日時である。この タイムスタンプは git には保存されない。 に適切に設定されるからだ。
日付の書式はこのテンプレートに従うこと:
"Mon Feb 12 11:35:33 UTC 2007"
alias curl_off_t = long;
curl_off_tのデータ型定義。
jdrewsen - 常に64ビット符号付きで、それがDにおけるlongだ。
以下のコメントはcurlbuild.hからのものだ:
注釈 2:
注2:任意のプラットフォーム/コンパイラの場合、curl_off_tは以下の型にtypedefされなければならない。 64ビット幅の符号付き整数データ型でなければならない。このデータ型の幅は一定でなければならない。 の幅は一定でなければならない。 サポート設定に依存しない。
上記の例外として、curl_off_tは、64ビット型がない場合、32ビット幅の符号付き整数データ型に型定義されなければならない。 もし64ビット型がなければ、32ビット幅の符号付き整数データ型に型定義されなければならない。
alias CURL = void;
alias curl_socket_t = std.socket.socket_t;
jdrewsen - std.socket からソケットエイリアスを取得する
struct curl_httppost;
curl_httppost* next;
リストの次のエントリ
char* name;
割り当てられた名前へのポインタ
c_long namelength;
名前の長さ 長さ
char* contents;
割り当てられたデータ内容へのポインタ
c_long contentslength;
コンテンツフィールドの長さ
char* buffer;
確保されたバッファ内容へのポインタ
c_long bufferlength;
バッファフィールドの長さ
char* contenttype;
コンテンツ型
curl_slist* contentheader;
このフォームの追加ヘッダのリスト
curl_httppost* more;
一つのフィールド名に複数の ファイルがある場合、このリンクは以下の ファイル
c_long flags;
以下に定義する
char* showfilename;
表示するファイル名。設定されていない場合は 実際のファイル名が使われる(これが がファイル部分である場合)
void* userp;
カスタムポインタ HTTPPOST_CALLBACK posts で使われるカスタムポインタ。
enum int HTTPPOST_FILENAME;
指定された内容がファイル名である
enum int HTTPPOST_READFILE;
指定された内容がファイル名である
enum int HTTPPOST_PTRNAME;
名前は格納されているポインタのみである formfreeで解放しない
enum int HTTPPOST_PTRCONTENTS;
コンテンツは格納されたポインタのみである formfreeで解放しない
enum int HTTPPOST_BUFFER;
バッファからファイルをアップロードする
enum int HTTPPOST_PTRBUFFER;
ポインタの内容からファイルをアップロードする
enum int HTTPPOST_CALLBACK;
ファイルの内容をアップロードする 通常の読み込みコールバックを使ってデータを取得する そして、与えられたポインタをカスタム ポインタ
alias curl_progress_callback = int function(void* clientp, double dltotal, double dlnow, double ultotal, double ulnow);
enum int CURL_MAX_WRITE_SIZE;
テストによると、20KはWindowsでのアップロードには不適切なバッファサイズであることが証明された。 一方、16Kは奇妙なことに、かなりうまくいった。 この値をビルド時に簡単に変更できるように、ifndefチェックを行っている。 ifndefチェックを行っている。実用的な最小値は 400バイトである。 (ネットワーク送信操作とは関係ない)。
enum int CURL_MAX_HTTP_HEADER;
最大制限を設ける唯一の理由は、悪質なサーバーが サーバーが libcurl に終わりのないヘッダを供給し、再割り当てを無限に引き起こすリスクを回避するためである。 を無限に繰り返す
enum int CURL_WRITEFUNC_PAUSE;
これは、書き込みコールバックの魔法のリターンコードで、返されると が返されると、libcurl に現在の転送の受信を一時停止するように合図を送る。
alias curl_write_callback = ulong function(char* buffer, ulong size, ulong nitems, void* outstream);
enum CurlFileType: int;
ファイル タイプの列挙
file
directory
symlink
device_block
device_char
namedpipe
socket
door
unknown
の列挙は、現在 Sun Solaris でのみ可能である。
alias curlfiletype = int;
enum CurlFInfoFlagKnown: int;
filename
filetype
time
perm
uid
gid
size
hlinkcount
struct _N2;
この構造体のコンテンツは、既知で達成可能な情報に依存する。 この構造体の内容は、既知で達成可能な情報 (FTP LIST の解析など) に依存する。この構造体を返すコールバックについては、 url_easy_setopt(3) のマニュアルページを参照のこと。 いくつかのフィールドは必須である、 いくつかのフィールドは必須であり、他のいくつかはオプションである。FLAGフィールドは特別な意味を持つ。
これらのフィールドのいくつかがNULLでない場合、それはb_dataへのポインタである。
char* time;
char* perm;
char* user;
char* group;
char* target;
シンボリックリンクのターゲットファイル名へのポインタである。
struct curl_fileinfo;
この構造体の内容は、既知で達成可能な情報に依存する。 この構造体の内容は、(FTP LISTのパースなどで)取得可能な既知の情報に依存する。この構造体を返すコールバックについては、 url_easy_setopt(3) のマニュアルページを参照のこと。 いくつかのフィールドは必須である、 いくつかのフィールドは必須であり、他のいくつかはオプションである。FLAGフィールドは特別な意味を持つ。
char* filename;
curlfiletype filetype;
time_t time;
uint perm;
int uid;
int gid;
curl_off_t size;
c_long hardlinks;
_N2 strings;
uint flags;
char* b_data;
size_t b_size;
size_t b_used;
enum CurlChunkBgnFunc: int;
CURLOPT_CHUNK_BGN_FUNCTION の戻りコード
ok
fail
タスクを終了するようlibに指示する
skip
このチャンクをスキップする
alias curl_chunk_bgn_callback = long function(const(void)* transfer_info, void* ptr, int remains);
データ転送の分割が有効になっている場合、このコールバックは個々のチャンクのダウンロードが始まる前に呼ばれる。 このコールバックは、個々のチャンクのダウンロードが開始される前に呼び出される。パラメータ "remains"はFTPワイルドカードダウンロードでのみ機能することに注意。 は(今のところ)FTPワイルドカードダウンロードでのみ機能し、それ以外では使用されないことに注意。
enum CurlChunkEndFunc: int;
CURLOPT_CHUNK_END_FUNCTION のリターンコード
ok
fail
alias curl_chunk_end_callback = long function(void* ptr);
データ転送の分割が有効になっている場合、個々のチャンクのダウンロードが終了した後にこのコールバックが呼ばれる。 個々のチャンクのダウンロードが終了した後に呼び出される。 注釈:!このコールバックがセットされた後は、すべてのチャンクに対してコールされなければならない。 このチャンクのダウンロードがCHUNK_BGN_FUNCでスキップされたとしてもである。 これが、このコールバックに "transfer_info"パラメーターが必要ない理由である。 remains "パラメータにも興味がない。
enum CurlFnMAtchFunc: int;
FNMATCHFUNCTIONのリターンコード
match
nomatch
fail
alias curl_fnmatch_callback = int function(void* ptr, in char* pattern, in char* string);
ワイルドカード・ダウンロード・パターンマッチングのコールバック型。もし 文字列がパターンにマッチする場合、CURL_FNMATCHFUNC_MATCH値などを返す。
enum CurlSeekPos: int;
シークする
set
current
end
enum CurlSeek: int;
これらはシークコールバックのリターンコードである。
ok
fail
転送全体を失敗させる
cantseek
libcurl にシークができないことを伝える。 libcurl は代わりに他の手段を試すかもしれない
alias curl_seek_callback = int function(void* instream, long offset, int origin);
enum CurlReadFunc: int;
abort
これは読み込みコールバックのリターンコードで、これが返されると 現在の転送を直ちに中止するように libcurl に通知する。
pause
これは読み込みコールバックのリターンコードで、返されると が返されると、libcurl に現在の転送のデータ送信を一時停止するようにシグナルを送る 転送を一時停止する。
alias curl_read_callback = ulong function(char* buffer, ulong size, ulong nitems, void* instream);
enum CurlSockType: int;
ipcxn
特定の IP 接続用に作成されたソケット
last
を使用しない
alias curlsocktype = int;
alias curl_sockopt_callback = int function(void* clientp, socket_t curlfd, int purpose);
struct curl_sockaddr;
addrlenは7.18.0以前ではsocklen_t型であった。 この型がないシステムでは、非常に醜く、痛いものになった。
int family;
int socktype;
int protocol;
uint addrlen;
addrlenは7.18.0以前にはsocklen_t型であったが、この型がないシステム上では本当に醜く苦痛なものになった。 しかし、この型がないシステム上では、本当に醜く痛々しいものになった。 しかし、この型がないシステム上では本当に醜く苦痛なものになった。
sockaddr addr;
alias curl_opensocket_callback = socket_t function(void* clientp, int purpose, curl_sockaddr* address);
enum CurlIoError: int;
ok
I/O操作が成功した
unknowncmd
コマンドはコールバックにとって未知のものだった
failrestart
読み込みの再開に失敗した
last
使用しない
alias curlioerr = int;
enum CurlIoCmd: int;
nop
コマンドがコールバックにとって不明だった
restartread
読み込みの再開に失敗した
last
使用しない
alias curliocmd = int;
alias curl_ioctl_callback = int function(void* handle, int cmd, void* clientp);
alias curl_malloc_callback = void* function(ulong size);

alias curl_free_callback = void function(void* ptr);

alias curl_realloc_callback = void* function(void* ptr, ulong size);

alias curl_strdup_callback = char* function(in char* str);

alias curl_calloc_callback = void* function(ulong nmemb, ulong size);
以下のtypedefは、それぞれmalloc、free、realloc、strdup、callocのシグネチャである。 callocのシグネチャである。 これらの型の関数ポインタは、curl_global_init_callbackに渡すことができる。 関数に渡すことができる。 コールバックルーチンを設定する。
enum CurlCallbackInfo: int;
information_callbackに渡されるデータの種類
text
header_in
header_out
data_in
data_out
ssl_data_in
ssl_data_out
end
alias curl_infotype = int;
alias curl_debug_callback = int function(void* handle, int type, char* data, ulong size, void* userptr);
enum CurlError: int;
あらゆる種類のcurl関数から可能なすべてのエラーコード。将来のバージョンでは は他の値を返すかもしれない。
新しいリターンコードは常に最後に追加する。決して削除しないこと。リターンコードは コードは同じでなければならない!
ok
unsupported_protocol
1
failed_init
2
url_malformat
3
not_built_in
4 - [2007年8月にリリースされた 7.17.0で廃止、2011年4月に7.21.5で再使用] 。
couldnt_resolve_proxy
5
couldnt_resolve_host
6
couldnt_connect
7
ftp_weird_server_reply
8
remote_access_denied
9 サーバーによってサービスが拒否された ログインに失敗した場合 これは返されない。
obsolete10
10 - 使用されていない
ftp_weird_pass_reply
11
obsolete12
12 - 使われていない
ftp_weird_pasv_reply
13
ftp_weird_227_format
14
ftp_cant_get_host
15
obsolete16
16 - 未使用
ftp_couldnt_set_type
17
partial_file
18
ftp_couldnt_retr_file
19
obsolete20
20 - 使用されない
quote_error
21 - 引用コマンドの失敗
http_returned_error
22
write_error
23
obsolete24
24 - 使用されていない
upload_failed
25 - アップロード "コマンド" に失敗した。
read_error
26 - ファイルを開けなかった/読み込めなかった。
out_of_memory
27
operation_timedout

注釈:CURLE_OUT_OF_MEMORYは変換エラーを示すことがある。 CURLE_OUT_OF_MEMORYは、CURL_DOES_CONVERSIONSの場合、メモリ割り当てエラーではなく、変換エラーを示すことがある。 CURL_DOES_CONVERSIONSが定義されている場合、メモリ割り当てエラーではなく、変換エラーを示すことがある。 が定義されている場合

28 - タイムアウト時間に達した。

obsolete29
29 - 使用されていない
ftp_port_failed
30 - FTP PORT 操作に失敗した。
ftp_couldnt_use_rest
31 - REST コマンドが失敗した
obsolete32
32 - 使用されていない
range_error
33 - RANGE "command" が機能しなかった。
http_post_error
34
ssl_connect_error
35 - SSL 接続時にエラーが発生した。
bad_download_resume
36 - ダウンロードを再開できなかった。
file_couldnt_read_file
37
ldap_cannot_bind
38
ldap_search_failed
39
obsolete40
40 - 使っていない
function_not_found
41
aborted_by_callback
42
bad_function_argument
43
obsolete44
44 - 使用されていない
interface_failed
45 - CURLOPT_INTERFACE に失敗した。
obsolete46
46 - 使われていない
too_many_redirects
47 - エンドレスなリダイレクト・ループをキャッチする
unknown_option
48 - ユーザーが不明なオプションを指定した
telnet_option_syntax
49 - 形成された telnet オプション
obsolete50
50 - 使用されない
peer_failed_verification
51 - 相手の証明書またはフィンガープリントが が正しく検証されていない。
got_nothing
52 - 特定のエラーの場合
ssl_engine_notfound
53 - SSL 暗号化エンジンが見つからない。
ssl_engine_setfailed
54 - SSL 暗号エンジンをデフォルトとして設定できない。
send_error
55 - ネットワークデータの送信に失敗した
recv_error
56 - ネットワークデータの受信に失敗した
obsolete57
57 - 使用されていない
ssl_certproblem
58 - ローカル証明書に問題がある
ssl_cipher
59 - 指定した暗号を使用できなかった
ssl_cacert
60 - CA 証明書に問題がある(パス?)
bad_content_encoding
61 - 認識できない転送エンコーディング
ldap_invalid_url
62 - 無効な LDAP URL
filesize_exceeded
63 - 最大ファイルサイズを超えた
use_ssl_failed
64 - 要求された FTP SSL レベルに失敗した。
send_fail_rewind
65 - データの送信には巻き戻しが必要で、これが失敗した。
ssl_engine_initfailed
66 - ENGINE の初期化に失敗した。
login_denied
67 - ユーザー、パスワード、または同様のものが受け入れられず、ログインに失敗した
tftp_notfound
68 - ファイルがサーバーで見つからなかった。
tftp_perm
69 - サーバー上のパーミッションに問題がある
remote_disk_full
70 - サーバーのディスク容量不足
tftp_illegal
71 - 不正な TFTP 操作
tftp_unknownid
72 - 不明な転送 ID
remote_file_exists
73 - ファイルがすでに存在する
tftp_nosuchuser
74 - そのようなユーザーがいない
conv_failed
75 - 変換に失敗した
conv_reqd
76 - 呼び出し側は変換を登録する必要がある curl_easy_setopt オプションを使用してコールバックを登録する必要がある。 CURLOPT_CONV_TO_NETWORK_FUNCTION、 CURLOPT_CONV_TO_NETWORK_FUNCTION、および curlopt_conv_from_utf8_function。
ssl_cacert_badfile
77 - CACERT ファイルをロードできなかった。
remote_file_not_found
78 - リモートファイルが見つからない。
ssh
79 - SSHレイヤーからのエラー。 一般的なものなので、エラーメッセージは以下のような場合に役立つだろう。 エラーメッセージは、これが発生した場合に役立つ。
ssl_shutdown_failed
80 - SSL 接続のシャットダウンに失敗した。
again
81 - ソケットが送受信の準備ができていない、 準備ができるまで待ってから再試行する。 された)
ssl_crl_badfile
82 - CRL ファイルを読み込めませんでした。ファイルがないか、形式が間違っています (7.19.0 で追加)
ssl_issuer_error
83 - 発行者チェックに失敗した。 (7.19.0で追加)
ftp_pret_failed
84 - PRET コマンドが失敗した
rtsp_cseq_error
85 - RTSP CSeq 番号の不一致
rtsp_session_error
86 - RTSP セッション識別子の不一致
ftp_bad_file_list
87 - FTP ファイルリストを解析できない。
chunk_failed
88 - チャンクコールバックがエラーを報告した。
curl_last
決して使用しないこと!
alias CURLcode = int;
alias curl_conv_callback = int function(char* buffer, ulong length);
このプロトタイプはすべての変換コールバックに適用される。
alias curl_ssl_ctx_callback = int function(void* curl, void* ssl_ctx, void* userptr);
実際には OpenSSL SSL_CTX である。
enum CurlProxy: int;
http
7.10 で追加され、7.19.4 ではデフォルトで CONNECT HTTP/1.1 を使うようになった。
http_1_0
7.19.4で追加され、強制的にCONNECT HTTP/1.0を使用する。
socks4
7.15.2でサポート追加、"列挙型"は7.10で既に存在していた
socks5
7.10で追加
socks4a
7.18.0で追加
socks5_hostname
SOCKS5プロトコルを使用するが、IPアドレスではなくホスト名を渡す。 IPアドレスではなくホスト名を渡すようにした。 7.18.0で追加
alias curl_proxytype = int;
enum CurlAuth: ulong;
none
なし
basic
ベーシック(デフォルト)
digest
ダイジェスト
negotiate
ネゴシエート (SPNEGO)
gssnegotiate
GSS-Negotiate
gssapi
GSS-Negoatiate
ntlm
NTLM
digest_ie
IE フレーバーのダイジェスト
ntlm_WB
NTML は winbind ヘルパーに委譲される。
bearer
ベアラートークン認証
only
他の 型と併用する。 単一の型
any
anyを許可する
anysafe
ベーシック以外
enum CurlSshAuth: int;
any
サーバーがサポートするすべての型を許可する。
none
どれも許可しない。
publickey
公開鍵/秘密鍵ファイル
password
パスワード
host
ホスト鍵ファイル
keyboard
キーボード対話型
agent
エージェント (ssh-agent, pageant...)
gssapi
gssapi (kerberos, ...)
enum int CURL_ERROR_SIZE;
enum CurlKHType: int;
base64でエンコードされたゼロ終端の文字列を指す。 lenがゼロの場合は "生"データを指す。
unknown
rsa1
rsa
dss
struct curl_khkey;
const(char)* key;
は、base64でエンコードされたゼロ終端の文字列を指す。 lenがゼロの場合は "生"データを指す。
size_t len;
CurlKHType keytype;
enum CurlKHStat: int;
これは、curl_sshkeycallbackから期待される戻り値のセットである。 コールバック
fine_add_to_file
fine
reject
接続を拒否し、エラーを返す
defer
接続を受け付けないが、今は応答できない。 この場合、CURLE_DEFERエラーが発生するが、そうでなければ 接続はそのままにされる。
last
使用しない。ラスト・イン・リストの目印とする。
enum CurlKHMatch: int;
これは、コールバックに渡されるステータスコードのセットである
ok
マッチ
mismatch
ホストは見つかったが、キーが一致しない!
missing
一致するホスト/キーが見つからない
last
not for use, only a marker for last-in-list.
alias curl_sshkeycallback = int function(void* easy, const(curl_khkey)* knownkey, const(curl_khkey)* foundkey, CurlKHMatch m, void* clientp);
enum CurlUseSSL: int;
CURLOPT_USE_SSLオプションのパラメータ
none
SSLを使用しようとしない
tryssl
SSLを使用してみる。
control
制御接続にSSLを使用するか、失敗する
all
すべての通信にSSLを使用するか、失敗する
last
オプションではない。
alias curl_usessl = int;
enum CurlFtpSSL: int;
CURLOPT_FTP_SSL_CCCオプションのパラメータ
ccc_none
CCCを送信しない
ccc_passive
サーバにシャットダウンを開始させる
ccc_active
シャットダウンを開始させる
ccc_last
オプションではない
alias curl_ftpccc = int;
enum CurlFtpAuth: int;
CURLOPT_FTPSSLAUTH オプションのパラメータ
defaultauth
libcurl に決定させる
ssl
AUTH SSL" を使用する
tls
AUTH TLS" を使用する
last
オプションではない
alias curl_ftpauth = int;
enum CurlFtp: int;
CURLOPT_FTP_CREATE_MISSING_DIRS オプションのパラメータ
create_dir_none
見つからないディレクトリを作成しない!
create_dir
(FTP/SFTP)CWDが失敗したら、MKDを試して、MKDが成功したらCWDを再度試す。 が成功したら、MKDを試して、再度CWDを行う。
create_dir_retry
(FTPのみ)CWDが失敗した場合、MKDを試し、MKDが成功したらCWDをやり直す。 失敗した!
create_dir_last
オプションではない。
alias curl_ftpcreatedir = int;
enum CurlFtpMethod: int;
CURLOPT_FTP_FILEMETHOD オプションのパラメータである
defaultmethod
libcurlに選択させる
multicwd
各パスの部分に対して単一のCWD操作を行う
nocwd
CWDを全く行わない
singlecwd
完全なディレクトリに対して1つのCWDを行い、その後ファイルを処理する
last
オプションではなく、決して使用しない
alias curl_ftpmethod = int;
enum CurlProto: int;
CURLPROTO_ の定義は、CURLOPT_*PROTOCOLS オプション用である。
http
https
ftp
ftps
scp
sftp
telnet
ldap
ldaps
dict
file
tftp
imap
imaps
pop3
pop3s
smtp
smtps
rtsp
rtmp
rtmpt
rtmpe
rtmpte
rtmps
rtmpts
gopher
all
すべてを有効にする
enum int CURLOPTTYPE_LONG;

enum int CURLOPTTYPE_OBJECTPOINT;

enum int CURLOPTTYPE_FUNCTIONPOINT;

enum int CURLOPTTYPE_OFF_T;
longは32ビットでも64ビットでもよいが、それ以外に依存してはならない ただし32ビットである。
alias LONG = CURLOPTTYPE_LONG;

alias OBJECTPOINT = CURLOPTTYPE_OBJECTPOINT;

alias FUNCTIONPOINT = CURLOPTTYPE_FUNCTIONPOINT;

alias OFF_T = CURLOPTTYPE_OFF_T;
nameは大文字のCURLOPT_<name>である、 型は定義されたCURLOPTTYPE_<型>のいずれかである。 numberは一意な識別子である
マクロ "##"はISO Cである。
enum CurlOption: int;
file
これは、通常の出力が書き込まれるべきFILE *またはvoid *である。
url
取得/出力する完全なURL
port
デフォルト以外の場合は、接続するポート番号。
proxy
使用するプロキシの名前。
userpwd
取得時に使用する "name:password"。
proxyuserpwd
プロキシで使用する "name:password"。
range
取得する範囲。ASCII文字列で指定する。
infile
使用しない
アップロード元のファイルストリームを指定する(入力として使用する):
errorbuffer
エラーメッセージを受け取るバッファ。 バイト以上でなければならない。これを使用しない場合、エラーメッセージは代わりに標準エラー出力に送られる:
writefunction
(fwriteの代わりに)出力を保存するために呼び出される関数。パラメータは パラメータはfwrite()構文を使うので、必ずそれに従うこと。
readfunction
入力を読み込むために呼び出される関数(freadの代わり)。パラメータには パラメータはfread()構文を使用する。
timeout
この秒数後に読み取り操作をタイムアウトさせる。
infilesize
CURLOPT_INFILE が使用されている場合、これは libcurl に送信されるファイルの大きさを通知するために使用できる に通知するために使用できる。これにより アップロードが成功したことを確認できる。 -1 は サイズが不明である。
大きなファイルをサポートするために、LARGEバージョンのキーも用意されている。 のLARGEバージョンもあり、これは off_t型を取る。 サイズを持つプラットフォームでより大きなファイルを扱えるようにする。 INFILESIZE_LARGEについては以下を参照のこと。
postfields
POST静的入力フィールド。
referer
リファラーページを設定する(一部のCGIで必要)。
ftpport
FTP PORT文字列を設定する(インターフェース名、名前付きまたは数値IPアドレス)。 デフォルトのアドレスを使用する場合は「-」を使用する。
useragent
User-Agent文字列を設定する(いくつかのCGIによって検査される)
low_speed_limit
ダウンロードが「低速制限」バイト/秒未満の場合 低速時間 "秒の間に"低速制限 "バイト/秒"未満を受信した場合、操作は中断される。 例えば、かなり高速な接続を使用している場合、次のような場合に中断することができる。 20秒間に2000バイト/秒未満であれば中止する。
低速制限 "を設定する
low_speed_time
低速時間 "を設定する。
resume_from
継続オフセットを設定する。
このキーにはLARGEバージョンもある。 t型を使用するLARGEバージョンもある。 32ビットより大きなoff_tを使用するプラットフォームで、大きなファイルオフセットを使用できる。 以下のRESUME_FROM_LARGEを参照のこと。
cookie
リクエストにクッキーを設定する:
httpheader
ヘッダーのリンクリストを指す。
httppost
これはポストエントリーのリンクリストである struct curl_httppost を指す。
sslcert
プライベートSSL証明書を保持するファイル名
keypasswd
SSLまたはSSH秘密鍵のパスワード
crlf
TYPEパラメータを送るか?
quote
QUOTEコマンドのリンクリストを送る
writeheader
ヘッダーを保存するFILE *またはvoid *を送る。 コールバックを使用する場合は、単に変更されずにコールバックに渡される。
cookiefile
初期クッキーを読み込むファイルを指定する。 "クッキー認識"
sslversion
具体的にどのバージョンを使おうとするか。 以下のCURL_SSLVERSIONの定義を参照のこと。
timecondition
どのようなHTTP時間条件を使用するか。
timevalue
上記の条件で使用する時間。秒数で指定する 1970年1月1日以降
customrequest
カスタムリクエスト。

HTTP DELETE、TRACE、その他

FTP 別のリストコマンドを使う

stderr
DELETE、TRACE、その他のような奇妙なコマンドのためのHTTPリクエスト
postquote
転送後のQUOTEコマンドのリンクリストを送る。
writeinfo
完全な変数置換を使って出力文字列へのポインタを渡す。 を使う。
verbose
たくさん話す
header
ヘッダーもスローにする。
noprogress
プログレス・メーターを止める
nobody
HEADを使ってhttpドキュメントを取得する
failonerror
httpエラーコード≧300の場合は出力しない。
upload
これはアップロードである
post
HTTP POSTメソッドを使う
dirlistonly
ディレクトリをリストアップする際、素の名前を返す
append
アップロード時に上書きの代わりに追記する
netrc
ユーザー+パスワードを.netrcから読み込むか、URLから読み込むかを指定する。 以下のCURL_NETRC_*列挙型のいずれかでなければならない。
followlocation
ロケーションを使用する:ルーク!
transfertext
テキスト/ASCII形式でデータを転送する
put
HTTP PUT
progressfunction
内部進行状況表示関数の代わりに呼び出される関数。 関数を使う。この関数は、curl_progress_callbackプロトタイプが定義する プロトタイプが定義する。
progressdata
プログレス・コールバックに渡すデータ
autoreferer
リファラーフィールドは、以下の場所で自動的に設定されるようにしたい。
proxyport
プロキシのポートは、プロキシ文字列でも設定できる: [host]:[port]
postfieldsize
POST入力データのサイズ。strlen()を使用するのが良くない場合。
httpproxytunnel
HTTP以外の操作をHTTPプロキシ経由でトンネルする
intrface
発信ネットワークインターフェースとして使用するインターフェース文字列を設定する。
krblevel
krb4/5セキュリティ・レベルを設定する。 これは は文字列で、'clear'、'safe'、'confidential'、または'private'である。 文字列 が設定されているが、これらのいずれにもマッチしない場合は、「private」が使用される。
ssl_verifypeer
sslハンドシェイクでピアを検証するかどうかを設定する。検証する場合は1を設定する。
cainfo
相手の証明書を検証するための CApath または CAfile。 このオプションはSSL_VERIFYPEERがtrueの場合のみ使用される。
maxredirs
フォローするhttpリダイレクトの最大数
filetime
リクエストされたドキュメントの日付を取得するために、1に設定したlongを渡す(可能であれば) 可能であれば)!ゼロを渡すと停止する。
telnetoptions
これはtelnetオプションのリンクリストを指す
maxconnects
生きている接続の最大キャッシュ量
closepolicy
キャッシュが一杯になったときにコネクションを閉じるときに使用するポリシー アップ
fresh_connect
次の転送に新しい接続を明示的に使用するように設定する。 絶対確実でない限り、これを使わないこと。 操作が遅くなり、ネットワークに優しくないからである。
forbid_reuse
次の転送のコネクションの再利用を明示的に禁止する。 に設定する。絶対確実でない限り、これを使わないこと。 ネットワークに優しくない。
random_file
libcurl が SSL 接続を行う際にランダムエンジンをシードするために使用する、ランダムデータを含むファイル名を設定する。 SSL接続時にランダムエンジンのシードとして使用する
egdsocket
エントロピー収集デーモンのソケットパス名を設定する。
connecttimeout
接続操作をこの秒数後にタイムアウトする。 がこの時間内に OK であれば、問題ない。これは フェーズを終了する。[unix系/SIGALRMオペレーティングシステムでのみ動作]。
headerfunction
(fwriteの代わりに)ヘッダーを保存するために呼ばれる関数。パラメータは パラメータはfwrite()構文を使うので、必ずそれに従うこと。
httpget
HTTPリクエストを強制的にGETに戻す。本当に使えるのは POST、PUTまたはカスタムリクエストが最初に使用された場合のみ。
ssl_verifyhost
sslのハンドシェイクで、相手証明書のCommon nameを検証するかどうかを設定する。 ハンドシェイクで検証するかどうかを設定する。 に設定する。
cookiejar
操作完了後、すべての既知のクッキーを書き込むファイル名を指定する。 操作完了後に、すべての既知のクッキーを書き込むファイル名を指定する。ファイル名を"-"(ダッシュ)にすると標準出力に出力される。
ssl_cipher_list
使用するSSL暗号を指定する
http_version
使用するHTTPバージョンを指定する!これは CURL_HTTP_VERSION*列挙型」のいずれかに設定する必要がある。
ftp_use_epsv
FTPエンジンがEPSVコマンドを使用するかどうかを指定する。デフォルトでは デフォルトでは、より伝統的な PASV コマンドの前に試行される。
sslcerttype
SSL証明書を保存するファイルの型("DER", "PEM", "ENG")
sslkey
SSL秘密鍵を保存しているファイルの名前
sslkeytype
SSL秘密鍵を保持するファイルの型("DER"、"PEM"、"ENG")
sslengine
SSLサブシステムの暗号エンジン
sslengine_default
SSL-subシステムの暗号化エンジンをデフォルトに設定する。 このパラメータに意味はない...
dns_use_global_cache
0以外の値はグローバルDNSキャッシュを使用することを意味する。
dns_cache_timeout
DNSキャッシュのタイムアウト
prequote
転送前のQUOTEコマンドのリンクリストを送信する
debugfunction
デバッグ関数を設定する。
debugdata
デバッグ関数のデータを設定する。
cookiesession
クッキー・セッションの開始としてマークする
capath
相手証明書の検証に使用するCApathディレクトリ このオプションは SSL_VERIFYPEER が true の場合のみ使用される
buffersize
libcurl に小さい受信バッファを使用するように指示する
nosignal
タイムアウトを使用している場合でも、シグナル/アラームハンドラを使用しないように libcurl に指示する。 タイムアウトを使用している場合でもこのオプションは、マルチスレッド アプリケーションに便利である。 詳細な背景情報については、libcurl-the-guide を参照のこと。
share
非tsデータのミューテックス用にCURLShareを提供する。
proxytype
CURLPROXY_HTTP (デフォルト)、 CURLPROXY_SOCKS4、CURLPROXY_SOCKS4A、CURLPROXY_SOCKS5である。
encoding
Accept-Encoding文字列を設定する。これを使用して これを使用して、レスポンスを圧縮することをサーバに指示する。
private_opt
プライベートデータへのポインタを設定する
http200aliases
HTTP ResponseヘッダーにHTTP 200のエイリアスを設定する。
unrestricted_auth
次の場所に移動するときに認証(ユーザー+パスワード)を送信し続ける、 ホスト名が変更されても。これは、サーバーがどのようなホストに とパスワードを、サーバーが決めたどんなホストにも送る可能性がある。
ftp_use_eprt
具体的には、FTPエンジンによるEPRTコマンドの使用をオンまたはオフにする( LPRTの試行も無効になる)。デフォルトでは、これらのコマンドは常に の前に試行される。
httpauth
特定の認証方法を有効にするには、これをビットマスク値に設定する。 メソッドを有効にする。これは CURLOPT_USERPWD と組み合わせて使用する。 複数のビットを設定すると、余分なネットワークのラウンドトリップが発生する可能性があることに注意すること。
ssl_ctx_function
sslコンテキストのコールバック関数を設定する(現在はOpenSSLのssl_ctxのみ)。 を第2引数に取る。関数" と一致しなければならない。 curl_ssl_ctx_callbackプロトコルにマッチするものでなければならない。
ssl_ctx_data
sslコンテキスト・コールバック関数の第3引数にuserdataを設定する。 を設定する。
ftp_create_missing_dirs
FTP リモートサーバー上で見つからないディレクトリを作成するオプション。 7.19.4で、このオプションのための便利な列挙型を導入した。 CURLFTP_CREATE_DIR 接頭辞を使用する。
proxyauth
特定の認証方法を有効にするには、ビットマスク値を設定する。 メソッドを有効にする。CURLOPT_PROXYUSERPWDと組み合わせて使用する。 複数のビットを設定すると、余分なネットワーク・ラウンドトリップが発生する可能性があることに注釈: 注意。
ftp_response_timeout
FTP オプション。 レスポンスの取得に関連するタイムアウトを秒単位で変更する。 これは転送タイムアウト時間とは異なり これは、転送タイムアウト時間とは異なり、基本的にFTPサーバーに対して、 タイムリーにコマンドを応答するように要求するものである。 を要求する。
ipresolve
このオプションを CURL_IPRESOLVE_* 定義 (下記を参照) のいずれかに設定すると libcurl にこれらの IP バージョンのみを名前解決するように指示する。これは 複数の IPv4 と IPv6 をサポートするシステムにのみ影響する。
maxfilesize
HTTP または FTP サーバーからダウンロードされるファイルのサイズを制限するには、このオプションを設定する。 このオプションを設定する。
LARGEバージョンもある。 プラットフォーム用の大容量ファイル・サポートを追加する LARGE バージョンもある。 以下のMAXFILESIZE_LARGEを参照のこと。
infilesize_large
上記のINFILESIZEのコメントを参照のこと。 アップロードされるファイルのサイズを指定する。 -1 は不明を意味する。
resume_from_large
継続オフセットを設定する。 これのLONGバージョンもある; 上記の RESUME_FROM を参照のこと。
maxfilesize_large
HTTPまたはFTPサーバーからダウンロードされるデータの最大サイズを設定する。 HTTP または FTP サーバからダウンロードするデータの最大サイズを設定する。 LONGバージョンについては、上記のMAXFILESIZEを参照のこと。
netrc_file
このオプションには、libcurl に解析させたい .netrc ファイルのファイル名を設定する を解析したい .netrc ファイルのファイル名を設定する (CURLOPT_NETRC オプションを使用する)。設定しない場合、libcurl は は、ユーザーのホーム ディレクトリを検索し、そこに .netrc ファイルをチェックする。
use_ssl
FTPのSSL/TLSを有効にする: CURLFTPSSL_TRY - SSLを使用する。 CURLFTPSSL_CONTROL - コントロール接続にSSLを使用するか、失敗する。 CURLFTPSSL_ALL - すべての通信にSSLを使用するか、失敗する。
postfieldsize_large
標準のPOSTFIELDSIZEオプションのLARGEバージョン
tcp_nodelay
TCP Nagleアルゴリズムの有効化/無効化
ftpsslauth
FTP over SSL/TLS が選択されている場合 (CURLOPT_USE_SSL を使用)、このオプションは libcurl のデフォルトの動作を変更するために使用できる。 「AUTH SSL"、"AUTH TLS"の順に試行し、OK レスポンスを受信したら続行する。 レスポンスを受信した場合に実行する。
使用可能なパラメータは以下の通り: CURLFTPAUTH_DEFAULT - libcurl に決定させる。 CURLFTPAUTH_SSL - 最初に "AUTH SSL"を試し、次にTLSを試す。 CURLFTPAUTH_TLS - 最初に「AUTH TLS」を試し、次にSSLを試す。
ioctlfunction
ioctldata
ftp_account
を要求されたときにFTPサーバーに渡すゼロ終端の文字列。 「アカウント」情報
cookielist
クッキーをクッキー・エンジンに送り込む
ignore_content_length
Content-Lengthを無視する
ftp_skip_pasv_ip
227PASVのFTPサーバー応答で受け取ったIPアドレスをスキップするには、ゼロ以外に設定する。 レスポンスで受け取ったIPアドレスをスキップする。通常、FTP-SSL の目的で使用されるが、これに限定されない。 libcurl は、制御接続に使用したのと同じ IP アドレスを代わりに使用する。 を使用する。
ftp_filemethod
FTP時に使用する「ファイルメソッド」を選択する。 を参照のこと。
localport
ソケットをバインドするローカルポート番号
localportrange
LOCALPORTで設定した最初のポートを含め、試行するポートの数。 したがって、これを1に設定すると、最初の試行以外は行わない。
connect_only
転送を行わず、接続を設定し、アプリケーションにソケットを使わせる。 CURLINFO_LASTSOCKETで取り出す。
conv_from_network_function
から変換するために呼び出される関数である。 ネットワークエンコーディングから変換するために呼び出される関数(libcurlのiconvコールを使う代わりに)
conv_to_network_function
に変換するために呼び出される関数である。 ネットワークエンコーディングに変換するために呼び出される関数。
conv_from_utf8_function
UTF8 から変換するために呼び出される関数。 (libcurlのiconvコールを使用する代わりに) これは SSL 証明書の処理にのみ使用されることに注意すること。
max_send_speed_large

max_recv_speed_large
接続の進行が速すぎる場合、速度を落とす必要がある
limit-rate: 送信または受信する1秒あたりの最大バイト数
ftp_alternative_to_user
USER/PASS が失敗した場合に送信するコマンド文字列へのポインタ。
sockoptfunction
ソケットオプション設定用コールバック関数
ssl_sessionid_cache
この転送でセッションIDの再利用を無効にするには0を設定する。 有効 (== 1)
ssh_auth_types
使用可能な SSH 認証方式
ssh_public_keyfile
scp/sftp で公開鍵/秘密鍵認証に使用する。
ftp_ssl_ccc
認証後に CCC (Clear Command Channel) を送信する。
timeout_ms

connecttimeout_ms
TIMEOUT および CONNECTTIMEOUT と同じだが、ms 分解能である。
http_transfer_decoding

http_content_decoding
をゼロに設定すると、libcurlのデコードが無効になり、生のボディデータがアプリケーションに渡される。 データをアプリケーションに渡す。
new_file_perms

new_directory_perms
リモートサーバー上に新しいファイルやディレクトリを作成する際に使用されるパーミッション。 をサポートするプロトコル(SFTP/SCP/FILE)において、リモートサーバー上に新しいファイルとディレクトリを作成する際に使用されるパーミッション。
postredir
リダイレクト時の POST の振る舞いを設定する。値は次のいずれかに設定しなければならない。 のいずれかに設定しなければならない。これは以前は CURLOPT_POST301 と呼ばれていた。
ssh_host_public_key_md5
ホストの公開鍵を検証するために scp/sftp で使用される。
opensocketfunction

opensocketdata
ソケットをオープンするためのコールバック関数(socket(2)の代わり)。オプション、 を返して接続を拒否することもできる。 を返す。 コールバックの型は 型でなければならない。
copypostfields
POST揮発性入力フィールド。
proxy_transfer_mode
HTTPプロキシ経由でFTPを行う際に転送モードを設定する(;type=<a|i>)
seekfunction

seekdata
入力ストリームをシークするためのコールバック関数。
crlfile
CRLファイル
issuercert
発行者証明書
address_scope
(IPv6)アドレススコープ
certinfo
証明書チェーン情報を収集し、それを で取得できるようにする。(残念ながら OpenSSLを搭載したビルドでのみ動作する。
username

password
取得時に使用する "name "と "pwd"。
proxyusername

proxypassword
"name "と "pwd"は、フェッチ時にプロキシで使用する。
noproxy
プロキシ禁止ゾーンを定義するホスト名のカンマ区切りリスト。これらは は、直接ホスト名とドメイン内のホスト名の両方にマッチする。例えば local.comはlocal.comとwww.local.com にマッチするが、notlocal.comやwww.local.com にはマッチしない。 notlocal.comまたはwww.notlocal.com。他の .local.comはlocal.comと同じとみなされる。 と同じとみなされる。は唯一有効なワイルドカードであり、事実上プロキシの使用を無効にする。 はプロキシの使用を無効にする。
tftp_blksize
TFTP転送のブロックサイズ
socks5_gssapi_service
ソックスサービス
socks5_gssapi_nec
ソックスサービス
protocols
転送に使用できるプロトコルのビットマスクを設定する。 これは、ユーザーやその他の外部入力からURLを受け取り、どのプロトコルを使用するかを制限したいアプリに役立つ。 このため、ユーザーやその他の外部入力からURLを受け取り、どのプロトコルを扱うかを制限したいアプリに役立つ。 を指定する。デフォルトはCURLPROTO_ALLである。
redir_protocols
libcurl が従うことを許可されるプロトコルのビットマスクを設定する、 CURLOPT_PROTOCOLS のサブセットとして設定する。つまり、プロトコルは を両方のビットマスクに設定する必要がある。デフォルトは は FILE と SCP 以外のすべてのプロトコルに設定される。
ssh_knownhosts
使用するSSH knownhostファイル名を設定する。
ssh_keyfunction
SSHホスト鍵コールバックを設定する。 関数を指定する。
ssh_keydata
SSHホスト鍵コールバックのカスタム・ポインタを設定する。
mail_from
SMTPメール発信元を設定する
mail_rcpt
SMTPメール受信者を設定する
ftp_use_pret

FTP PASVの前にPRETを送る

rtsp_request
RTSPリクエスト・メソッド(OPTIONS、SETUP、PLAYなど)
rtsp_session_id
RTSPセッション識別子
rtsp_stream_uri
RTSPストリームURI
rtsp_transport
RTSPリクエストで使用するTransport:ヘッダー
rtsp_client_cseq
このハンドルのクライアントRTSP CSeqを手動で初期化する。
rtsp_server_cseq
このハンドルのサーバーRTSP CSeqを手動で初期化する
interleavedata
INTERLEAVEFUNCTIONに渡すストリーム。
interleavefunction
アプリケーションに、RTPデータのカスタム書き込みメソッドを定義させる。
wildcardmatch
ワイルドカード・マッチングをオンにする
chunk_bgn_function
個々のファイル(チャンク)のダウンロードが開始される前に、ディレクトリ・マッチング・コールバックが呼び出される 個々のファイル(チャンク)のダウンロードが開始する前に呼び出される
chunk_end_function
ファイル(チャンク)がダウンロードされた後、ディレクトリ・マッチング・コールバックが呼び出される。 がダウンロードされた後、またはスキップされた後に呼び出される
fnmatch_function
ワイルドカードマッチング用のマッチ(fnmatchのような)コールバックを変更する
chunk_data
アプリケーションにカスタムチャンクデータポインタを定義させる
fnmatch_data
FNMATCH_FUNCTION ユーザー・ポインタ
resolve
name:port:addressセットのリンクリストを送る
tlsauth_username
認証済みTLS用のユーザー名を設定する
tlsauth_password
認証済みTLS用のパスワードを設定する
tlsauth_type
認証済みTLSの認証型を設定する
lastentry
最後の未使用の
writedata

readdata

headerdata

rtspheader
便利なエイリアス
alias CURLoption = int;
enum CurlOption CURLOPT_SERVER_RESPONSE_TIMEOUT;
enum CurlIpResolve: int;
以下はCURLOPT_IPRESOLVEオプションの定義である。ホスト 名が複数の IP プロトコル バージョンを使用してアドレスを解決する場合、この オプションは libcurl に特定の IP バージョンを使用させるのに便利である。
whatever
デフォルトでは、システムが許可するすべての IP バージョンにアドレスを解決する
v4
ipv4 アドレスに解決する
v6
ipv6 アドレスに解決する
enum CurlOption CURLOPT_WRITEDATA;

enum CurlOption CURLOPT_READDATA;

enum CurlOption CURLOPT_HEADERDATA;

enum CurlOption CURLOPT_RTSPHEADER;
より良い名前スキームに従う 3 つの便利な「エイリアス
enum CurlHttpVersion: int;
これらの列挙型は、CURLOPT_HTTP_VERSIONオプションで使用する。
none
これを設定することは、気にしないことを意味する。 ライブラリに最適なものを選んでもらいたい を選んでほしいことを意味する!
v1_0
リクエストにはHTTP 1.0を使用してほしい
v1_1
リクエストにはHTTP 1.1を使用してほしい
last
不正なhttpバージョン
enum CurlRtspReq: int;
RTSPリクエスト用のパブリックAPI列挙型
none
options
describe
announce
setup
play
pause
teardown
get_parameter
set_parameter
record
receive
last
enum CurlNetRcOption: int;
これらの列挙型はCURLOPT_NETRCオプションで使用するためのものである。
ignored
.netrcは決して読み込まれない。これはデフォルトである。
optional
URL の user:password は .netrc のものより優先される。
required
URL中のuser:passwordは無視される。 プログラムで設定しない限り、.netrc が照会される。
last
enum CurlSslVersion: int;
default_version
tlsv1
sslv2
sslv3
last
決して使用しない
enum CurlTlsAuth: int;
none
srp
last
決して使用しない
enum CurlRedir: int;
CURLOPT_POSTREDIRで使用するシンボル。 CURL_REDIR_POST_301とCURL_REDIR_POST_302はビットORすることができる。 curl_redir_post_301 | curl_redir_post_302 == curl_redir_post_all となる。
get_all
post_301
post_302
post_all
enum CurlTimeCond: int;
none
ifmodsince
ifunmodsince
lastmod
last
alias curl_TimeCond = int;
int curl_strequal(scope const(char)* s1, scope const(char)* s2);
curl_strequal() と curl_strnequal() は将来の 詳細は lib/README.curlx を参照のこと。
int curl_strnequal(scope const(char)* s1, scope const(char)* s2, size_t n);
同上
curl_strequal() および curl_strnequal() は将来削除される可能性がある。 詳細は lib/README.curlx を参照のこと。
struct curl_forms;
CURLFORM_ARRAY のパラメータとして使用する構造体。
CURLformoption option;
const(char)* value;
enum CurlFormAdd: int;
マルチパートのフォームポスト構築に使用する
curl_formadd() のコードを返す
Returns:
  • 成功した場合は CURL_FORMADD_OK
  • FormInfoの割り当てに失敗した場合は CURL_FORMADD_MEMORY
  • 1つのFormに2回オプションが指定された場合は CURL_FORMADD_OPTION_TWICE
  • charにNULLポインタが指定された場合はCURL_FORMADD_NULL
  • FormInfo構造体の割り当てに失敗した場合のCURL_FORMADD_MEMORY
  • 不明なオプションが使用された CURL_FORMADD_UNKNOWN_OPTION
  • FormInfoが完全でない(またはエラー)なら CURL_FORMADD_INCOMPLETE
  • CURL_FORMADD_MEMORY(curl_httppost構造体が確保できない場合
  • CURL_FORMADD_MEMORY(文字列コピーのための割り当てに失敗した場合
  • 不正なオプションが配列で使用されている場合 CURL_FORMADD_ILLEGAL_ARRAY
ok
エラーが発生しない
memory
option_twice
null_ptr
unknown_option
incomplete
illegal_array
disabled
libcurlはこれを無効にしてビルドされている。
last
alias CURLFORMcode = int;
CURLFORMcode curl_formadd(curl_httppost** httppost, curl_httppost** last_post, ...);

名前 curl_formadd()

説明 マルチパートフォームポストを構築するためのかなり高度な関数。呼び出すたびに を呼び出すと、1つのパートが追加され、それらが一緒になって完全な投稿を構築する。そして CURLOPT_HTTPPOST を使用して libcurl に送信する。

alias curl_formget_callback = extern (C) ulong function(void* arg, const(char)* buf, ulong len);
curl_formget()のコールバック関数 の第2引数として渡される void *arg ポインタになる。 の第2引数として渡されたものである。 渡された文字バッファは解放してはならない。 成功時には、引数 "len "として渡されたバッファ長を返す。 成功時
int curl_formget(curl_httppost* form, void* arg, curl_formget_callback append);

名前 curl_formget()

説明 curl_formadd() で構築した curl_httppost 構造体をシリアライズする。 第二引数として void ポインタを受け取る。 curl_formget_callback関数に渡される。 成功時に 0 を返す。

void curl_formfree(curl_httppost* form);

名前 curl_formfree()

説明 curl_formadd() で構築したマルチパートの formpost を解放する。

char* curl_getenv(scope const(char)* variable);

名前 curl_getenv()

説明 malloc()'された文字列を返す。 されなければならない。廃止予定 - lib/README.curlx を参照のこと。

char* curl_version();

名前 curl_version()

説明 libcurl のバージョンをアスキー文字列で返す。

char* curl_easy_escape(CURL* handle, scope const(char)* string, int length);

名前 curl_easy_escape()

説明 URL 文字列をエスケープする (URL 内で不正とみなされるすべての文字を XXバージョンに変換する)。この関数は、割り当てられた新しい文字列を返すか、エラーが発生した場合はNULLを返す。 を返す。

char* curl_escape(scope const(char)* string, int length);
エラーが発生した場合は NULL を返す:
char* curl_easy_unescape(CURL* handle, scope const(char)* string, int length, int* outlength);

名前 curl_easy_unescape()

説明 文字列中の URL エンコーディングをアンエスケープする (%XX コードをすべて 8bit の バージョンに変換する)。この関数は割り当てられた新しい文字列を返すか、エラーが発生した場合はNULLを返す。 を返す。 変換注釈: ASCII以外のプラットフォームでは、ASCII %XXコードはホスト・エンコードに変換される。 はホスト・エンコーディングに変換される。

char* curl_unescape(scope const(char)* string, int length);
前バージョン
void curl_free(void* p);

名前 curl_free()

説明 アロケーションを行ったのと同じ翻訳ユニットでアロケーションを解除するために提供される 割り当てを行ったのと同じ翻訳ユニットでlibcurl 7.10 で追加された。

CURLcode curl_global_init(c_long flags);

名前 curl_global_init()

説明 curl_global_init()は、libcurlを使用する各アプリケーションに対して一度だけ呼び出す必要がある。 他のlibcurl関数を呼び出す前に呼び出さなければならない。

この関数はスレッドセーフではない!

CURLcode curl_global_init_mem(c_long flags, curl_malloc_callback m, curl_free_callback f, curl_realloc_callback r, curl_strdup_callback s, curl_calloc_callback c);

名前 curl_global_init_mem()

説明 curl_global_init()またはcurl_global_init_mem()は、libcurlを使用するアプリケーションごとに一度だけ起動する必要がある。 を呼び出す必要がある。 この関数は、以下の目的で使用できる。 libcurlを初期化し、ユーザー定義のメモリ管理コールバック関数を設定する 関数を設定するために使用できる。 ユーザーは、メモリ管理ルーチンを実装して メモリリークをチェックしたり、curl ライブラリの誤用をチェックしたりするためのメモリ管理ルーチンを実装することができる。 ユーザーが登録した コールバックルーチンは、システムの代わりにこのライブラリによって呼び出される。 malloc、freeなどのメモリ管理ルーチンの代わりに、このライブラリによって呼び出される。

void curl_global_cleanup();

名前 curl_global_cleanup()

説明 curl_global_cleanup()は、libcurlを使用する各アプリケーションに対して一度だけ呼び出されるべきである。 libcurl

struct curl_slist;
CURLOPT_QUOTE オプションのリンクリスト構造 (およびその他)
curl_slist* curl_slist_append(curl_slist*, const(char)*);

名前 curl_slist_append()

説明 リンクリストに文字列を追加する。リストが存在しない場合は、最初に作成される 最初に作成される。追加後の新しいリストを返す。

CURLOPT_QUOTEオプション(およびその他)用のリンクリスト構造体

void curl_slist_free_all(curl_slist*);

名前 curl_slist_free_all()

説明 以前にビルドした curl_slist を解放する。

CURLOPT_QUOTEオプション用のリンクリスト構造体 (その他)

time_t curl_getdate(const(char)* p, const(time_t)* unused);

名前 curl_getdate()

説明 第一引数で与えられた時刻文字列の1970年1月1日からの秒数を返す。 を返す。第2引数の time は未使用である。 であり、NULLに設定されるべきである。

CURLOPT_QUOTEオプション(およびその他)用のリンクリスト構造体。

struct curl_certinfo;
OpenSSLビルドの場合のみ。OpenSSLビルドの場合のみ。 CURLOPT_CERTINFO / CURLINFO_CERTINFO で求められる。
CURLOPT_QUOTEオプション(およびその他)のリンクリスト構造。
int num_of_certs;
情報を持つ証明書の数
curl_slist** certinfo;
この配列の各インデックスには のテキスト情報を持つリンクリストがある。 形式のテキスト情報を持つリンクリストがある。
enum int CURLINFO_STRING;
enum int CURLINFO_LONG;
enum int CURLINFO_DOUBLE;
enum int CURLINFO_SLIST;
enum int CURLINFO_MASK;
enum int CURLINFO_TYPEMASK;
enum CurlInfo: int;
none
effective_url
response_code
total_time
namelookup_time
connect_time
pretransfer_time
size_upload
size_download
speed_download
speed_upload
header_size
request_size
ssl_verifyresult
filetime
content_length_download
content_length_upload
starttransfer_time
content_type
redirect_time
redirect_count
private_info
http_connectcode
httpauth_avail
proxyauth_avail
os_errno
num_connects
ssl_engines
cookielist
lastsocket
ftp_entry_path
redirect_url
primary_ip
appconnect_time
certinfo
condition_unmet
rtsp_session_id
rtsp_client_cseq
rtsp_server_cseq
rtsp_cseq_recv
primary_port
local_ip
local_port
lastone
ここに新しい項目を記入する!
alias CURLINFO = int;
enum CurlInfo CURLINFO_HTTP_CODE;
CURLINFO_RESPONSE_CODE は、以前は CURLINFO_Http_CODE
enum CurlClosePolicy: int;
none
oldest
least_recently_used
least_traffic
slowest
callback
last
alias curl_closepolicy = int;
enum CurlGlobal: int;
ssl
win32
all
nothing
default_
すべて
enum CurlLockData: int;
共有のための定義やプロトなどを設定する。
1つの共有に対する異なるデータロック
none
share
CURL_LOCK_DATA_SHAREは内部的に次のように使用される。 ロックは、共有自体の内部状態を変更するために行われる。 を使用する。
cookie
dns
ssl_session
connect
last
alias curl_lock_data = int;
enum CurlLockAccess: int;
異なるロックアクセス型
none
不特定アクション
shared_access
おそらく読み取り
single
おそらく書き込み
last
使用しない
alias curl_lock_access = int;
alias curl_lock_function = void function(void* handle, int data, int locktype, void* userptr);
alias curl_unlock_function = void function(void* handle, int data, void* userptr);
alias CURLSH = void;
enum CurlShError: int;
ok
すべて問題ない
bad_option
1
in_use
2
invalid
3
nomem
メモリ不足
last
決して使用しない
alias CURLSHcode = int;
enum CurlShOption: int;
ロック/アンロック・コールバックで使用されるユーザー・データ・ポインターを渡す 関数" を使用しない。
none
使用しない
share
共有するデータ型を指定する
unshare
共有を停止するデータ型を指定する。
lockfunc
curl_lock_function'ポインタを渡す。
unlockfunc
curl_unlock_function'ポインタを渡す。
userdata
ロック/アンロックで使用するユーザー・データ・ポインターを渡す。 コールバック関数で使用する。
last
決して使用しない
alias CURLSHoption = int;
CURLSH* curl_share_init();
CURLSHcode curl_share_setopt(CURLSH*, CURLSHoption option, ...);
CURLSHcode curl_share_cleanup(CURLSH*);
enum CurlVer: int;
実行時にcurlライブラリに関する情報を問い合わせるための構造体。
first
second
third
fourth
last
alias CURLversion = int;
enum CurlVer CURLVERSION_NOW;
CURLVERSION_NOW'は、以下のようなシンボリック名である。 CURLVERSION_NOW」は、バージョン情報を取得したい基本的にすべてのプログラムによって使用されることを意味するシンボリックネームである。これは これは、呼び出し元が期待する構造体の種類を示す組み込みのバージョン番号である。 である。構造体が変更されることがあれば、NOWを別の列挙型に再定義する。 に再定義する。
struct _N28;
CURLversion age;
返される構造体の年齢
const(char)* version_;
libcurl_version
uint version_num;
libcurl_version_num
const(char)* host;
設定されている場合、OS/ホスト/cpu/マシン
int features;
ビットマスク。
const(char)* ssl_version;
人間が読める文字列
c_long ssl_version_num;
もう使用されない。
const(char)* libz_version;
人間が読める文字列
const(char)** protocols;
プロトコルはNULLプロトン名のエントリで終了する
const(char)* ares;
これより下のフィールドはCURLVERSION_SECONDで追加された。
const(char)* libidn;
このフィールドはCURLVERSION_THIRDで追加された。
int iconv_ver_num;
これらのフィールドは CURLVERSION_FOURTH で追加された。 HAVE_ICONV でビルドした場合は 'libiconv_version' と同じ。
const(char)* libssh_version;
人間が読める文字列
alias curl_version_info_data = _N28;
enum CurlVersion: int;
ipv6
IPv6 対応
kerberos4
kerberos認証がサポートされている
ssl
SSLオプションがある
libz
libz 機能が存在する
ntlm
NTLM 認証がサポートされている
gssnegotiate
Negotiate 認証がサポートされている
dbg
デバッグ機能付き
asynchdns
非同期 DNS リゾルブ
spnego
SPNEGO 認証
largefile
2GB以上のファイルをサポート
idn
国際ドメイン名のサポート
sspi
SSPIをサポート
conv
文字変換をサポート
curldebug
デバッグメモリートラッキングに対応
tlsauth_srp
TLS-SRP認証がサポートされている
curl_version_info_data* curl_version_info(CURLversion);

名前 curl_version_info()

説明 この関数は、バージョン情報構造体の静的コピーへのポインタを返す。 構造体へのポインタを返す。上記を参照のこと。

const(char)* curl_easy_strerror(CURLcode);

名前 curl_easy_strerror()

説明 curl_easy_strerror関数は、CURLcode値を人間が読めるエラー文字列に変換するために使用される。 を人間が読めるエラー文字列に変換する。 これは これは、意味のあるエラーメッセージを出力するのに便利である。

const(char)* curl_share_strerror(CURLSHcode);

名前 curl_share_strerror()

説明 curl_share_strerror関数は、CURLSHcode値を人間が読めるエラー文字列に変換するために使用される。 を人間が読めるエラー文字列に変換する。 これは これは、意味のあるエラーメッセージを表示するのに便利である。

CURLcode curl_easy_pause(CURL* handle, int bitmask);

関数名 curl_easy_pause()

説明 curl_easy_pause関数は、転送を一時停止または一時停止解除する。ビットマスクを設定して新しい 状態を選択する。

enum CurlPause: int;
recv
recv_cont
send
send_cont
all
cont
CURL* curl_easy_init();
CURLcode curl_easy_setopt(CURL* curl, CURLoption option, ...);
CURLcode curl_easy_perform(CURL* curl);
void curl_easy_cleanup(CURL* curl);
CURLcode curl_easy_getinfo(CURL* curl, CURLINFO info, ...);

名前 curl_easy_getinfo()

説明 この関数でcurlセッションの内部情報を要求する。 第3引数 第3引数には、longへのポインタ、char *へのポインタ、またはdoubleへのポインタを指定しなければならない(MUST)。 へのポインタでなければならない。 指されたデータ へのポインタを指定しなければならない。 関数がCURLE_OKを返した場合のみ信頼できる。 この関数は、転送の後に使用されることを意図している。 転送が完了するまで、この関数の結果はすべて未定義である。 転送が完了するまで、この関数からの結果はすべて未定義である。

CURL* curl_easy_duphandle(CURL* curl);

名前 curl_easy_duphandle()

説明 渡されたハンドルに設定されたオプションと同じオプションを持つ新しい curl セッションハンドルを作成する に渡されたものと同じオプションを設定した新しいcurlセッションハンドルを作成する。ハンドルの複製は、データとオプションを複製するだけである。 オプションをクローンするだけで、内部状態情報や持続的接続のようなものは引き継げない。 を転送することはできない。これは、マルチスレッド・アプリケーションで を実行し、一連の同一の curl_easy_setopt() の一連の呼び出しを避けるために、新しいスレッドごとに curl_easy_duphandle() を実行できる場合に有用である。

void curl_easy_reset(CURL* curl);

名前 curl_easy_reset()

説明 CURLハンドルをデフォルト値に再初期化する。これにより ハンドルを作成時と同じ状態に戻す。

ライブ接続、セッションIDキャッシュ、DNSキャッシュ、クッキーは保持される。 クッキーを保持する。

CURLcode curl_easy_recv(CURL* curl, void* buffer, size_t buflen, size_t* n);

名前 curl_easy_recv()

説明 接続されたソケットからデータを受信する。CURLOPT_CONNECT_ONLY オプションを指定して が成功した後に使用する。

CURLcode curl_easy_send(CURL* curl, void* buffer, size_t buflen, size_t* n);

名前 curl_easy_send()

説明 接続されたソケットにデータを送信する。CURLOPT_CONNECT_ONLY オプションを指定して が成功した後に使用する。

alias CURLM = void;
enum CurlM: int;
call_multi_perform
すぐに curl_multi_perform() または curl_multi_socket*() を呼び出すこと。
ok
bad_handle
渡されたハンドルが有効なCURLMハンドルでない。
bad_easy_handle
渡されたハンドルが有効なCURLMハンドルではない
out_of_memory
これが発生した場合、大変なことになる
internal_error
これはlibcurlのバグである
bad_socket
渡されたソケット引数が
unknown_option
curl_multi_setopt()でサポートされていないオプションを指定する
last
alias CURLMcode = int;
enum CurlM CURLM_CALL_MULTI_SOCKET;
curl_multi_socket()を使用する際に、コードを簡単にするために で動作するのと同じスタイルで CURLM_CALL_MULTI_SOCKET もチェックできるようになった。 や CURLM_CALL_MULTI_PERFORM と同じスタイルで CURLM_CALL_MULTI_SOCKET もチェックできるようになった。
enum CurlMsg: int;
none
done
この簡単な処理は完了した。result'には 転送のCURLコード
last
使用されない
alias CURLMSG = int;
union _N31;
void* whatever;
メッセージ固有のデータ
CURLcode result;
転送のリターンコード
struct CURLMsg;
CURLMSG msg;
このメッセージが意味するもの
CURL* easy_handle;
関連するハンドル
_N31 data;
CURLM* curl_multi_init();

名前 curl_multi_init()

説明 マルチスタイルの curl の使用を開始する

Returns:
すべての"curl_multi"関数で使用する新しいCURLMハンドル。
CURLMcode curl_multi_add_handle(CURLM* multi_handle, CURL* curl_handle);

名前 curl_multi_add_handle()

説明 標準の curl ハンドルをマルチスタックに追加する

Returns:
CURLMcode型、一般的なマルチエラーコード。
CURLMcode curl_multi_remove_handle(CURLM* multi_handle, CURL* curl_handle);

名前 curl_multi_remove_handle()

説明 curl ハンドルをマルチスタックから削除する

Returns:
CURLMcode型、一般的なマルチエラーコード。
alias fd_set = int;

名前 curl_multi_fdset()

説明 curl に fd_set セットを問い合わせる。アプリはこれらを使って select() や ポーリング() に使用できる。のいずれかが準備でき次第、curl_multi_perform() を呼び出す。 を呼び出したい。

Returns:
CURLMcode型、一般的なマルチエラーコード。
tmp宣言
CURLMcode curl_multi_fdset(CURLM* multi_handle, fd_set* read_fd_set, fd_set* write_fd_set, fd_set* exc_fd_set, int* max_fd);
CURLMcode curl_multi_perform(CURLM* multi_handle, int* running_handles);

名前 curl_multi_perform()

Desc アプリがcurlで利用可能なデータがあると思ったら、この 関数を呼び出す。この関数は を返す。この関数は以下を必要としない。 この関数は、実際に読み取り可能なデータや書き込み可能なデータがあることを必要としない。 データを書き込むことができる。この関数は を返す。 の整数ポインタに格納されている。

Returns:
CURLMcode型、一般的なマルチエラーコード。これはマルチスタック全体に関するエラーなどを返す はマルチスタック全体に関するエラーなどを返す。マルチスタック全体に関するエラーなどが返される を返した場合でも、個々の転送で問題が発生している可能性がある。 がOKを返しても、個々の転送で問題が発生している可能性がある。
CURLMcode curl_multi_cleanup(CURLM* multi_handle);

名前 curl_multi_cleanup()

説明 マルチスタック全体をクリーンアップして削除する。個々のイージーハンドルには一切触れない。 個々のイージーハンドルには一切触れない。以下のように定義する必要がある。 を定義する必要がある。 が呼び出された場合、それらのハンドルがどのような状態になるかを定義する必要がある。

Returns:
CURLMcode型、一般的なマルチエラーコード。
CURLMsg* curl_multi_info_read(CURLM* multi_handle, int* msgs_in_queue);

名前 curl_multi_info_read()

説明 マルチハンドルに個々の転送からのメッセージ/情報があるかどうかを問い合わせる があるかどうかを尋ねる。メッセージには以下のような情報が含まれる メッセージには、転送のエラーコードや、転送が完了したという事実が含まれる。 を含む。これらの詳細も書き留めておく必要がある。

この関数を繰り返し呼び出すと、そのたびに新しい構造体が返される。 が返されるまで、この関数を繰り返し呼び出すと、毎回新しい構造体が返される。 として返される。
返されたポインタが指すデータは を呼び出しても生き残れない。
CURLMsg "構造体は、非常にシンプルで、非常に基本的な情報のみを含むことを意図している。 非常に基本的な情報のみを含む。より詳細な情報が必要な場合は その構造体には、特定の「転送ハンドル」を提供する。 で使用されるはずである。 curl_easy_getinfo()コール(または同様のコール)で使用されるはず/される/されるであろう。重要なのは 複雑な構造体をアプリケーションに公開してはいけないということだ。 将来的に後方互換性の問題が発生することは間違いない。

Returns:
埋め尽くされた構造体へのポインタであり、失敗したり構造体を使い果たしたりした場合はNULLである。 である。また、キューに残っているメッセージ数も書き込まれる。 キューに残っているメッセージの数(この読み込みの後)を、第2引数の指す整数に書き込む。 に書き込む。
const(char)* curl_multi_strerror(CURLMcode);

名前 curl_multi_strerror()

説明 curl_multi_strerror 関数は、CURLMcode の値を人間が読めるエラー文字列に変換するために使用される。 値を人間が読めるエラー文字列に変換する。 これは 意味のあるエラーメッセージを表示するのに便利である。

Returns:
ゼロ終端のエラーメッセージへのポインタ。
enum CurlPoll: int;

名前 curl_multi_socket() および curl_multi_socket_all() とする。

説明 curl_multi_perform() の代替バージョン。 アプリケーションは、"アクション" を持つことが検出されたファイル記述子の 1 つを渡して アプリケーションに渡すことができる。 詳細は man ページを参照のこと。

none_
jdrewsen - 予約された D 記号と衝突しないようにアンダースコアで表記されている。
in_
out_
inout_
remove_
alias CURL_SOCKET_TIMEOUT = CURL_SOCKET_BAD;
enum CurlCSelect: int;
in_
jdrewsen - 予約された D シンボルと衝突しないようにアンダースコアで表記する。
out_
err_
alias curl_socket_callback = extern (C) int function(void* easy, socket_t s, int what, void* userp, void* socketp);
private ソケットポインタ
alias curl_multi_timer_callback = extern (C) int function(void* multi, long timeout_ms, void* userp);
プライベートコールバックポインタ

名前 curl_multi_timer_callback

説明 ライブラリが が呼び出される。 または curl_multi_perform() を呼び出す必要がある (libcurlの時間指定されたイベントが実行されるようにするため) が呼び出される前にアプリが待機できる最大ミリ秒数が変更されたことを検出する。

Returns:
コールバックはゼロを返すべきである。
CURLMcode curl_multi_socket(CURLM* multi_handle, curl_socket_t s, int* running_handles);
同上

名前 curl_multi_timer_callback

説明 ライブラリが が呼び出される。 または curl_multi_perform() を呼び出す必要がある (libcurlの時間指定されたイベントが実行されるようにするため) が呼び出される前にアプリが待機できる最大ミリ秒数が変更されたことを検出する。

Returns:
コールバックはゼロを返すべきである。
CURLMcode curl_multi_socket_action(CURLM* multi_handle, curl_socket_t s, int ev_bitmask, int* running_handles);
同上

名前 curl_multi_timer_callback

説明 ライブラリが が呼び出される。 または curl_multi_perform() を呼び出す必要がある (libcurlの時間指定されたイベントが実行されるようにするため) が呼び出される前にアプリが待機できる最大ミリ秒数が変更されたことを検出する。

Returns:
コールバックはゼロを返すべきである。
CURLMcode curl_multi_socket_all(CURLM* multi_handle, int* running_handles);
同上

名前 curl_multi_timer_callback

説明 ライブラリが が呼び出される。 または curl_multi_perform() を呼び出す必要がある (libcurlの時間指定されたイベントが実行されるようにするため) が呼び出される前にアプリが待機できる最大ミリ秒数が変更されたことを検出する。

Returns:
コールバックはゼロを返すべきである。
CURLMcode curl_multi_timeout(CURLM* multi_handle, c_long* milliseconds);
以下のマクロは 7.16.3 で追加されたもので、リコンパイルするユーザが古い を使うようにするために7.16.3で追加された。

名前 curl_multi_timeout()

説明 アプリが、curl_multi_socket() または curl_multi_perform() が実行されるまで curl_multi_socket() または curl_multi_perform() が (libcurl の時間指定されたイベントが行われるように) 呼び出されるまでの (libcurlのタイムイベントを許可するために) 呼び出されなければならない。

Returns:
CURLM エラーコード。
enum CurlMOption: int;
socketfunction
これはソケットコールバック関数のポインタである。
socketdata
ソケットコールバックに渡される引数である。
pipelining
このマルチハンドルのパイプライン処理を有効にするには 1 を設定する。
timerfunction
タイマーコールバック関数ポインタである。
timerdata
タイマーコールバックに渡される引数である。
maxconnects
コネクションキャッシュの最大エントリ数
lastentry
alias CURLMoption = int;
CURLMcode curl_multi_setopt(CURLM* multi_handle, CURLMoption option, ...);

名前 curl_multi_setopt()

説明 マルチハンドルのオプションを設定する。

Returns:
CURLMエラーコード。
CURLMcode curl_multi_assign(CURLM* multi_handle, curl_socket_t sockfd, void* sockp);

名前 curl_multi_assign()

説明 この関数は、指定されたソケットとアプリケーションのプライベートポインタの間のマルチハンドルの関連付けを設定する。 アプリケーションのプライベートポインタとの関連付けを設定する。これは (のみ) curl_multi_socket の使用時に有用である。

Returns:
CURLMエラーコード。