Compare commits
175 Commits
curl-7_37_
...
curl-7_37_
Author | SHA1 | Date | |
---|---|---|---|
![]() |
df5169fa35 | ||
![]() |
4cb2521595 | ||
![]() |
aa68848451 | ||
![]() |
f069b40f9d | ||
![]() |
4da6e0c966 | ||
![]() |
9087b7e8f5 | ||
![]() |
08b27e0892 | ||
![]() |
98866008a9 | ||
![]() |
08c8d5b89a | ||
![]() |
eb3e383390 | ||
![]() |
425459b8ae | ||
![]() |
763c51780c | ||
![]() |
6c6ba59e6b | ||
![]() |
135c2dc14f | ||
![]() |
4a67b3e650 | ||
![]() |
aaaf9e50ec | ||
![]() |
8a120710cc | ||
![]() |
816979e3b8 | ||
![]() |
45c93dad1d | ||
![]() |
efc71583e7 | ||
![]() |
3d2e1724cb | ||
![]() |
447c31ce9d | ||
![]() |
d582c272a6 | ||
![]() |
4dc3a57718 | ||
![]() |
d033fc8323 | ||
![]() |
baf8b57b1d | ||
![]() |
f9b80cded7 | ||
![]() |
6273b23a05 | ||
![]() |
1cef8f0bc3 | ||
![]() |
3ae2b6cd7f | ||
![]() |
8ffe6f5b57 | ||
![]() |
ca2aa61b66 | ||
![]() |
52cd5ac21c | ||
![]() |
caa4db8a51 | ||
![]() |
2968f957aa | ||
![]() |
0cd368c2ef | ||
![]() |
d343033f3d | ||
![]() |
22eb00f937 | ||
![]() |
afbd5f978e | ||
![]() |
7441c6d7af | ||
![]() |
3e0443239a | ||
![]() |
8b8cc85d8d | ||
![]() |
97db9fb653 | ||
![]() |
907520c4b9 | ||
![]() |
1c1d9a3a86 | ||
![]() |
24c3cdce88 | ||
![]() |
7581dee10a | ||
![]() |
7c21558503 | ||
![]() |
46a886cd48 | ||
![]() |
1b6bc02fb9 | ||
![]() |
057cc2e915 | ||
![]() |
d8287ca8bc | ||
![]() |
cf1f8d4528 | ||
![]() |
c66c2dd755 | ||
![]() |
c7e491f9c2 | ||
![]() |
7d618c477f | ||
![]() |
0ab9e0c9d9 | ||
![]() |
ac5b6f8082 | ||
![]() |
ecacdb3430 | ||
![]() |
d4cc9db64d | ||
![]() |
31b28a0942 | ||
![]() |
25a975408e | ||
![]() |
c088f29b98 | ||
![]() |
59d5b4ce06 | ||
![]() |
68d1bea5fc | ||
![]() |
662f749cec | ||
![]() |
290e1bbe0d | ||
![]() |
a6cd174b2e | ||
![]() |
fede49532d | ||
![]() |
49078ae363 | ||
![]() |
42d199b1f1 | ||
![]() |
00d84a2f3e | ||
![]() |
c31e6d223a | ||
![]() |
47311e4c7e | ||
![]() |
ba1d831cf1 | ||
![]() |
ae353b0b20 | ||
![]() |
efbffa2fb7 | ||
![]() |
479675f23e | ||
![]() |
ce656065ba | ||
![]() |
fdee523452 | ||
![]() |
ade380a7aa | ||
![]() |
8fab76e8f3 | ||
![]() |
c3954ffb25 | ||
![]() |
38bf85fd61 | ||
![]() |
de6b89262e | ||
![]() |
e34bdc3187 | ||
![]() |
1a876a37cf | ||
![]() |
082d5300db | ||
![]() |
a6d666e1a6 | ||
![]() |
455bfedc84 | ||
![]() |
38d517fcd4 | ||
![]() |
b46f295900 | ||
![]() |
0890bb6a51 | ||
![]() |
0042557598 | ||
![]() |
d865376c1d | ||
![]() |
0219d4e04e | ||
![]() |
c522c7ba88 | ||
![]() |
5fcef972b2 | ||
![]() |
89a2178bc9 | ||
![]() |
5d746fc98c | ||
![]() |
d8aa360058 | ||
![]() |
a6882a3a49 | ||
![]() |
4a2da38bed | ||
![]() |
c3c4fd2671 | ||
![]() |
b56dff79ad | ||
![]() |
e029243727 | ||
![]() |
bb71f1aa25 | ||
![]() |
b203377df7 | ||
![]() |
28b698858c | ||
![]() |
7ad9cb12b2 | ||
![]() |
a5e498b543 | ||
![]() |
93ec89042e | ||
![]() |
e810ddbb70 | ||
![]() |
0761f17560 | ||
![]() |
0795e5c8b9 | ||
![]() |
49b3c145ee | ||
![]() |
801a683007 | ||
![]() |
7e109995fd | ||
![]() |
34d02aff71 | ||
![]() |
ce6c691da1 | ||
![]() |
740ebcd86e | ||
![]() |
c06e76f6fe | ||
![]() |
964e43c5e2 | ||
![]() |
d5d98c1297 | ||
![]() |
1b478d6ac3 | ||
![]() |
3aa1329e0a | ||
![]() |
e95ca7cec9 | ||
![]() |
ceacbacd14 | ||
![]() |
51bb067a42 | ||
![]() |
bde0d89c3d | ||
![]() |
e9344390ee | ||
![]() |
8223972af2 | ||
![]() |
2b2e8e0e4b | ||
![]() |
99303bcde5 | ||
![]() |
f997787d89 | ||
![]() |
65467cf9cb | ||
![]() |
5468a2122c | ||
![]() |
c50ce85918 | ||
![]() |
bbd3dc611e | ||
![]() |
62a26ec696 | ||
![]() |
1b59ef6990 | ||
![]() |
d603ed6753 | ||
![]() |
1eb308275a | ||
![]() |
e8c1bf8840 | ||
![]() |
eefeb73af4 | ||
![]() |
aa6be2ef13 | ||
![]() |
9597b0ebcb | ||
![]() |
bcbaed8165 | ||
![]() |
2a615a2b64 | ||
![]() |
11397eb6dd | ||
![]() |
b99f8e8b4e | ||
![]() |
345bfab518 | ||
![]() |
fb4937a311 | ||
![]() |
1b89456509 | ||
![]() |
9d85d4746b | ||
![]() |
1439dfb576 | ||
![]() |
ac6da721a3 | ||
![]() |
b3d0e4e243 | ||
![]() |
2ddd69ef9a | ||
![]() |
c7638d93b0 | ||
![]() |
3b65aeda52 | ||
![]() |
290d615b46 | ||
![]() |
a9388b73b1 | ||
![]() |
a7999da39e | ||
![]() |
415c982afb | ||
![]() |
f634355868 | ||
![]() |
461d45ea7a | ||
![]() |
32e9275edb | ||
![]() |
cd2cedf002 | ||
![]() |
c6d5f80d8b | ||
![]() |
691985ceb0 | ||
![]() |
df13f8e8c2 | ||
![]() |
491767418b | ||
![]() |
e8b7431305 | ||
![]() |
ddf4719694 |
34
Makefile.am
34
Makefile.am
@@ -275,6 +275,8 @@ vc-ide: $(VC6_LIBDSP_DEPS) $(VC6_SRCDSP_DEPS) $(VC7_LIBVCPROJ_DEPS) \
|
|||||||
win32_src_srcs='$(CURL_CFILES)'; \
|
win32_src_srcs='$(CURL_CFILES)'; \
|
||||||
win32_src_hdrs='$(CURL_HFILES)'; \
|
win32_src_hdrs='$(CURL_HFILES)'; \
|
||||||
win32_src_rc='$(CURL_RCFILES)'; \
|
win32_src_rc='$(CURL_RCFILES)'; \
|
||||||
|
win32_src_x_srcs='$(CURLX_CFILES)'; \
|
||||||
|
win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \
|
||||||
\
|
\
|
||||||
sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \
|
sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \
|
||||||
sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \
|
sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \
|
||||||
@@ -282,6 +284,8 @@ vc-ide: $(VC6_LIBDSP_DEPS) $(VC6_SRCDSP_DEPS) $(VC7_LIBVCPROJ_DEPS) \
|
|||||||
sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \
|
sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \
|
||||||
sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \
|
sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \
|
||||||
sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \
|
sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \
|
||||||
|
sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \
|
||||||
|
sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \
|
||||||
\
|
\
|
||||||
awk_code='\
|
awk_code='\
|
||||||
function gen_element(type, dir, file)\
|
function gen_element(type, dir, file)\
|
||||||
@@ -363,6 +367,20 @@ function gen_element(type, dir, file)\
|
|||||||
split(src_rc, arr);\
|
split(src_rc, arr);\
|
||||||
for(val in arr) gen_element(proj_type, "src", arr[val]);\
|
for(val in arr) gen_element(proj_type, "src", arr[val]);\
|
||||||
}\
|
}\
|
||||||
|
else if($$0 == "CURL_SRC_X_C_FILES") {\
|
||||||
|
split(src_x_srcs, arr);\
|
||||||
|
for(val in arr) {\
|
||||||
|
sub(/..\/lib\//, "", arr[val]);\
|
||||||
|
gen_element(proj_type, "lib", arr[val]);\
|
||||||
|
}\
|
||||||
|
}\
|
||||||
|
else if($$0 == "CURL_SRC_X_H_FILES") {\
|
||||||
|
split(src_x_hdrs, arr);\
|
||||||
|
for(val in arr) {\
|
||||||
|
sub(/..\/lib\//, "", arr[val]);\
|
||||||
|
gen_element(proj_type, "lib", arr[val]);\
|
||||||
|
}\
|
||||||
|
}\
|
||||||
else\
|
else\
|
||||||
printf("%s\r\n", $$0);\
|
printf("%s\r\n", $$0);\
|
||||||
}';\
|
}';\
|
||||||
@@ -381,6 +399,8 @@ function gen_element(type, dir, file)\
|
|||||||
-v src_srcs="$$sorted_src_srcs" \
|
-v src_srcs="$$sorted_src_srcs" \
|
||||||
-v src_hdrs="$$sorted_src_hdrs" \
|
-v src_hdrs="$$sorted_src_hdrs" \
|
||||||
-v src_rc="$$win32_src_rc" \
|
-v src_rc="$$win32_src_rc" \
|
||||||
|
-v src_x_srcs="$$sorted_src_x_srcs" \
|
||||||
|
-v src_x_hdrs="$$sorted_src_x_hdrs" \
|
||||||
"$$awk_code" $(srcdir)/$(VC6_SRCTMPL) > $(VC6_SRCDSP) || { exit 1; }; \
|
"$$awk_code" $(srcdir)/$(VC6_SRCTMPL) > $(VC6_SRCDSP) || { exit 1; }; \
|
||||||
\
|
\
|
||||||
echo "generating '$(VC7_LIBVCPROJ)'"; \
|
echo "generating '$(VC7_LIBVCPROJ)'"; \
|
||||||
@@ -397,6 +417,8 @@ function gen_element(type, dir, file)\
|
|||||||
-v src_srcs="$$sorted_src_srcs" \
|
-v src_srcs="$$sorted_src_srcs" \
|
||||||
-v src_hdrs="$$sorted_src_hdrs" \
|
-v src_hdrs="$$sorted_src_hdrs" \
|
||||||
-v src_rc="$$win32_src_rc" \
|
-v src_rc="$$win32_src_rc" \
|
||||||
|
-v src_x_srcs="$$sorted_src_x_srcs" \
|
||||||
|
-v src_x_hdrs="$$sorted_src_x_hdrs" \
|
||||||
"$$awk_code" $(srcdir)/$(VC7_SRCTMPL) > $(VC7_SRCVCPROJ) || { exit 1; }; \
|
"$$awk_code" $(srcdir)/$(VC7_SRCTMPL) > $(VC7_SRCVCPROJ) || { exit 1; }; \
|
||||||
\
|
\
|
||||||
echo "generating '$(VC71_LIBVCPROJ)'"; \
|
echo "generating '$(VC71_LIBVCPROJ)'"; \
|
||||||
@@ -413,6 +435,8 @@ function gen_element(type, dir, file)\
|
|||||||
-v src_srcs="$$sorted_src_srcs" \
|
-v src_srcs="$$sorted_src_srcs" \
|
||||||
-v src_hdrs="$$sorted_src_hdrs" \
|
-v src_hdrs="$$sorted_src_hdrs" \
|
||||||
-v src_rc="$$win32_src_rc" \
|
-v src_rc="$$win32_src_rc" \
|
||||||
|
-v src_x_srcs="$$sorted_src_x_srcs" \
|
||||||
|
-v src_x_hdrs="$$sorted_src_x_hdrs" \
|
||||||
"$$awk_code" $(srcdir)/$(VC71_SRCTMPL) > $(VC71_SRCVCPROJ) || { exit 1; }; \
|
"$$awk_code" $(srcdir)/$(VC71_SRCTMPL) > $(VC71_SRCVCPROJ) || { exit 1; }; \
|
||||||
\
|
\
|
||||||
echo "generating '$(VC8_LIBVCPROJ)'"; \
|
echo "generating '$(VC8_LIBVCPROJ)'"; \
|
||||||
@@ -429,6 +453,8 @@ function gen_element(type, dir, file)\
|
|||||||
-v src_srcs="$$sorted_src_srcs" \
|
-v src_srcs="$$sorted_src_srcs" \
|
||||||
-v src_hdrs="$$sorted_src_hdrs" \
|
-v src_hdrs="$$sorted_src_hdrs" \
|
||||||
-v src_rc="$$win32_src_rc" \
|
-v src_rc="$$win32_src_rc" \
|
||||||
|
-v src_x_srcs="$$sorted_src_x_srcs" \
|
||||||
|
-v src_x_hdrs="$$sorted_src_x_hdrs" \
|
||||||
"$$awk_code" $(srcdir)/$(VC8_SRCTMPL) > $(VC8_SRCVCPROJ) || { exit 1; }; \
|
"$$awk_code" $(srcdir)/$(VC8_SRCTMPL) > $(VC8_SRCVCPROJ) || { exit 1; }; \
|
||||||
\
|
\
|
||||||
echo "generating '$(VC9_LIBVCPROJ)'"; \
|
echo "generating '$(VC9_LIBVCPROJ)'"; \
|
||||||
@@ -445,6 +471,8 @@ function gen_element(type, dir, file)\
|
|||||||
-v src_srcs="$$sorted_src_srcs" \
|
-v src_srcs="$$sorted_src_srcs" \
|
||||||
-v src_hdrs="$$sorted_src_hdrs" \
|
-v src_hdrs="$$sorted_src_hdrs" \
|
||||||
-v src_rc="$$win32_src_rc" \
|
-v src_rc="$$win32_src_rc" \
|
||||||
|
-v src_x_srcs="$$sorted_src_x_srcs" \
|
||||||
|
-v src_x_hdrs="$$sorted_src_x_hdrs" \
|
||||||
"$$awk_code" $(srcdir)/$(VC9_SRCTMPL) > $(VC9_SRCVCPROJ) || { exit 1; }; \
|
"$$awk_code" $(srcdir)/$(VC9_SRCTMPL) > $(VC9_SRCVCPROJ) || { exit 1; }; \
|
||||||
\
|
\
|
||||||
echo "generating '$(VC10_LIBVCXPROJ)'"; \
|
echo "generating '$(VC10_LIBVCXPROJ)'"; \
|
||||||
@@ -461,6 +489,8 @@ function gen_element(type, dir, file)\
|
|||||||
-v src_srcs="$$sorted_src_srcs" \
|
-v src_srcs="$$sorted_src_srcs" \
|
||||||
-v src_hdrs="$$sorted_src_hdrs" \
|
-v src_hdrs="$$sorted_src_hdrs" \
|
||||||
-v src_rc="$$win32_src_rc" \
|
-v src_rc="$$win32_src_rc" \
|
||||||
|
-v src_x_srcs="$$sorted_src_x_srcs" \
|
||||||
|
-v src_x_hdrs="$$sorted_src_x_hdrs" \
|
||||||
"$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \
|
"$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \
|
||||||
\
|
\
|
||||||
echo "generating '$(VC11_LIBVCXPROJ)'"; \
|
echo "generating '$(VC11_LIBVCXPROJ)'"; \
|
||||||
@@ -477,6 +507,8 @@ function gen_element(type, dir, file)\
|
|||||||
-v src_srcs="$$sorted_src_srcs" \
|
-v src_srcs="$$sorted_src_srcs" \
|
||||||
-v src_hdrs="$$sorted_src_hdrs" \
|
-v src_hdrs="$$sorted_src_hdrs" \
|
||||||
-v src_rc="$$win32_src_rc" \
|
-v src_rc="$$win32_src_rc" \
|
||||||
|
-v src_x_srcs="$$sorted_src_x_srcs" \
|
||||||
|
-v src_x_hdrs="$$sorted_src_x_hdrs" \
|
||||||
"$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \
|
"$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \
|
||||||
\
|
\
|
||||||
echo "generating '$(VC12_LIBVCXPROJ)'"; \
|
echo "generating '$(VC12_LIBVCXPROJ)'"; \
|
||||||
@@ -493,4 +525,6 @@ function gen_element(type, dir, file)\
|
|||||||
-v src_srcs="$$sorted_src_srcs" \
|
-v src_srcs="$$sorted_src_srcs" \
|
||||||
-v src_hdrs="$$sorted_src_hdrs" \
|
-v src_hdrs="$$sorted_src_hdrs" \
|
||||||
-v src_rc="$$win32_src_rc" \
|
-v src_rc="$$win32_src_rc" \
|
||||||
|
-v src_x_srcs="$$sorted_src_x_srcs" \
|
||||||
|
-v src_x_hdrs="$$sorted_src_x_hdrs" \
|
||||||
"$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; };)
|
"$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; };)
|
||||||
|
183
RELEASE-NOTES
183
RELEASE-NOTES
@@ -1,87 +1,67 @@
|
|||||||
Curl and libcurl 7.37.0
|
Curl and libcurl 7.37.1
|
||||||
|
|
||||||
Public curl releases: 139
|
Public curl releases: 140
|
||||||
Command line options: 161
|
Command line options: 162
|
||||||
curl_easy_setopt() options: 206
|
curl_easy_setopt() options: 208
|
||||||
Public functions in libcurl: 58
|
Public functions in libcurl: 58
|
||||||
Contributors: 1137
|
Contributors: 1155
|
||||||
|
|
||||||
This release includes the following changes:
|
This release includes the following changes:
|
||||||
|
|
||||||
o URL parser: IPv6 zone identifiers are now supported
|
o bits.close: introduce connection close tracking
|
||||||
o CURLOPT_PROXYHEADER: set headers for proxy-only
|
o darwinssl: Add support for --cacert
|
||||||
o CURLOPT_HEADEROPT: added
|
o polarssl: add ALPN support
|
||||||
o curl: add --proxy-header
|
o docs: Added new option man pages
|
||||||
o sasl: Added support for DIGEST-MD5 via Windows SSPI
|
|
||||||
o sasl: Added DIGEST-MD5 qop-option validation in native challange handling
|
|
||||||
o imap: Expanded mailbox SEARCH support to use URL query strings [7]
|
|
||||||
o imap: Extended FETCH support to include PARTIAL URL specifier [7]
|
|
||||||
o nss: implement non-blocking SSL handshake
|
|
||||||
o build: Reworked Visual Studio project files
|
|
||||||
o poll: enable poll on darwin13
|
|
||||||
o mk-ca-bundle: added -p
|
|
||||||
o libtests: add a wait_ms() function
|
|
||||||
|
|
||||||
This release includes the following bugfixes:
|
This release includes the following bugfixes:
|
||||||
|
|
||||||
o mkhelp: generate code for --disable-manual as well [1]
|
o build: Fixed incorrect reference to curl_setup.h in Visual Studio files
|
||||||
o hostcheck: added a system include to define struct in_addr
|
o build: Use $(TargetDir) and $(TargetName) macros for .pdb and .lib output
|
||||||
o winbuild: added warnless.c to fix build
|
o curl.1: clarify that -u can't specify a user with colon [1]
|
||||||
o Makefile.vc6: added warnless.c to fix build
|
o openssl: Fix uninitialized variable use in NPN callback
|
||||||
o smtp: Fixed login denied when server doesn't support AUTH capability [2]
|
o curl_easy_reset: reset the URL [2]
|
||||||
o smtp: Fixed login denied with a RFC-821 based server [2]
|
o curl_version_info.3: returns a pointer to a static struct
|
||||||
o curl: stop interpreting IPv6 literals as glob patterns
|
o url-parser: only use if_nametoindex if detected by configure [3]
|
||||||
o http2: remove _DRAFT09 from the NPN_HTTP2 enum
|
o select: with winsock, avoid passing unsupported arguments to select() [4]
|
||||||
o http2: let openssl mention the exact protocol negotiated
|
o gnutls: don't use deprecated type names anymore
|
||||||
o http2+openssl: fix compiler warnings in ALPN using code
|
o gnutls: allow building with nghttp2 but without ALPN support
|
||||||
o ftp: in passive data connect wait for happy eyeballs sockets [3]
|
o tests: Fix portability issue with the tftpd server
|
||||||
o HTTP: don't send Content-Length: 0 _and_ Expect: 100-continue [4]
|
o curl_sasl_sspi: Fixed corrupt hostname in DIGEST-MD5 SPN
|
||||||
o http2: Compile with current nghttp2, which supports h2-11 [5]
|
o curl_sasl: extended native DIGEST-MD5 cnonce to be a 32-byte hex string
|
||||||
o http_negotiate_sspi: Fixed compilation when USE_HTTP_NEGOTIATE not defined
|
o random: use Curl_rand() for proper random data [5]
|
||||||
o strerror: fix comment about vxworks' strerror_r buffer size [6]
|
o Curl_ossl_init: call OPENSSL_config for initing engines [6]
|
||||||
o url: only use if_nametoindex() if IFNAMSIZ is available
|
o config-win32.h: Updated for VC12 [7]
|
||||||
o imap: Fixed untagged response detection when no data after command
|
o winbuild: Don't USE_WINSSL when WITH_SSL is being used
|
||||||
o various: fix possible dereference of null pointer
|
o getinfo: HTTP CONNECT code not reset between transfers [8]
|
||||||
o various: fix use of uninitialized variable
|
o Curl_rand: Use a fake entropy for debug builds when CURL_ENTROPY set
|
||||||
o various: fix use of non-null terminated strings
|
o http2: avoid segfault when using the plain-text http2
|
||||||
o telnet.c: check sscanf results before passing them to snprintf
|
o conncache: move the connection counter to the cache struct
|
||||||
o parsedate.c: check sscanf result before passing it to strlen
|
o http2: better return code error checking
|
||||||
o sockfilt.c: free memory in case of memory allocation errors
|
o curlbuild: fix GCC build on SPARC systems without configure script
|
||||||
o sockfilt.c: ignore non-key-events and continue waiting for input
|
o tool_metalink: Support polarssl as digest provider
|
||||||
o sockfilt.c: properly handle disk files, pipes and character input
|
o curl.h: reverse the enum/define setup for old symbols
|
||||||
o sockfilt.c: fixed getting stuck waiting for MinGW stdin pipe
|
o curl.h: moved two really old deprecated symbols
|
||||||
o sockfilt.c: clean up threaded approach and add documentation
|
o curl.h: renamed CURLOPT_DEPRECATEDx to CURLOPT_OBSOLETEx
|
||||||
o configure: use the nghttp2 path correctly with pkg-config [8]
|
o buildconf: do not search tools in current directory.
|
||||||
o curl_global_init_mem: bump initialized even if already initialized [9]
|
o OS400: make it compilable again. Make RPG binding up to date
|
||||||
o gtls: fix NULL pointer dereference [10]
|
o nss: do not abort on connection failure (failing tests 305 and 404)
|
||||||
o cyassl: Use error-ssl.h when available
|
o nss: make the fallback to SSLv3 work again
|
||||||
o handler: make 'protocol' always specified as a single bit [11]
|
o tool: prevent valgrind from reporting possibly lost memory (nss only)
|
||||||
o INFILESIZE: fields in UserDefined must not be changed run-time
|
o progress callback: skip last callback update on errors [9]
|
||||||
o openssl: biomem->data is not zero terminated
|
o nss: fix a memory leak when CURLOPT_CRLFILE is used
|
||||||
o config-win32.h: Fixed HAVE_LONGLONG for Visual Studio .NET 2003 and up
|
o compiler warnings: potentially uninitialized variables [10]
|
||||||
o curl_ntlm_core: Fixed use of long long for VC6 and VC7
|
o url.c: Fixed memory leak on OOM
|
||||||
o SNI: strip off a single trailing dot from host name [12]
|
o gnutls: ignore invalid certificate dates with VERIFYPEER disabled
|
||||||
o curl: bail on cookie use when built with disabled cookies
|
o gnutls: fix SRP support with versions of GnuTLS from 2.99.0
|
||||||
o curl_easy_setopt.3: added the proto for CURLOPT_SSH_KNOWNHOSTS
|
o gnutls: fixed a couple of uninitialized variable references
|
||||||
o curl_multi_cleanup: ignore SIGPIPE better [13]
|
o gnutls: fixed compilation against versions < 2.12.0
|
||||||
o schannel: don't use the connect-timeout during send [14]
|
o build: Fixed overridden compiler PDB settings in VC7 to VC12
|
||||||
o mprintf: allow %.s with data not being zero terminated
|
o ntlm_wb: Fixed buffer size not being large enough for NTLMv2 sessions [11]
|
||||||
o tool_help: Fixed missing --login-options option
|
o netrc: don't abort if home dir cannot be found
|
||||||
o configure: Don't set LD_LIBRARY_PATH when cross-compiling
|
o netrc: fixed thread safety problem by using getpwuid_r if available
|
||||||
o http: auth failure on duplicated 'WWW-Authenticate: Negotiate' header [15]
|
o cookie: avoid mutex deadlock [12]
|
||||||
o cacertinmem: fix memory leak [16]
|
o configure: respect host tool prefix for krb5-config
|
||||||
o lib1506: make sure the transfers are not within the same ms [17]
|
o gnutls: handle IP address in cert name check
|
||||||
o Makefile.b32: Fixed for vtls changes [18]
|
|
||||||
o sasl: Fixed missing qop in the client's challenge-response message
|
|
||||||
o openssl: unbreak PKCS12 support [19]
|
|
||||||
o darwinssl: fix potential crash with a P12 file [20]
|
|
||||||
o timers: fix timer regression involving redirects / reconnects [21]
|
|
||||||
o CURLINFO_SSL_VERIFYRESULT: made more reliable [22]
|
|
||||||
o HTTP: fixed connection re-use [23]
|
|
||||||
o configure: add SPNEGO to supported features [24]
|
|
||||||
o configure: add GSS-API to supported features [25]
|
|
||||||
o ALPN: fix typo in http/1.1 identifier
|
|
||||||
o http2: make connection re-use work [26]
|
|
||||||
|
|
||||||
This release includes the following known bugs:
|
This release includes the following known bugs:
|
||||||
|
|
||||||
@@ -90,41 +70,26 @@ This release includes the following known bugs:
|
|||||||
This release would not have looked like this without help, code, reports and
|
This release would not have looked like this without help, code, reports and
|
||||||
advice from friends like these:
|
advice from friends like these:
|
||||||
|
|
||||||
Aaro Koskinen, Cody Mack, Damian Dixon, Dan Fandrich, Daniel Johnson,
|
Alessandro Ghedini, Brad Spencer, Chris Young, Colin Hogben, Dan Fandrich,
|
||||||
Daniel Stenberg, David Woodhouse, Dilyan Palauzov, Fabian Frank,
|
Daniel Stenberg, David Woodhouse, Dimitrios Siganos, Fabian Frank,
|
||||||
Ivo Bellin Salarin, Jeff King, Jeroen Koekkoek, Jon Torrey, Kamil Dudka,
|
Glen A Johnson Jr., Hubert Kario, Jeff Pohlmeyer, Jonathan Cardoso Machado,
|
||||||
Larry Lin, Leon Winter, Maciej Puzio, Marc Hoersken, Michael Osipov,
|
Kamil Dudka, Lindley French, Marcel Raad, Michał Górny, Nick Zitzmann,
|
||||||
Nick Zitzmann, Patrick Watson, Paul Marks, Radu Simionescu, Remi Gacogne,
|
Patrick Monnerat, Ray Satiro, Steve Holme, Tatsuhiro Tsujikawa,
|
||||||
Ryan Braud, Steve Holme, Tatsuhiro Tsujikawa, Till Maas, Tom Sparrow,
|
Vilmos Nebehaj, Yousuke Kimoto, Dmitry Falko
|
||||||
Török Edwin, Vijay Panghal,
|
|
||||||
|
|
||||||
Thanks! (and sorry if I forgot to mention someone)
|
Thanks! (and sorry if I forgot to mention someone)
|
||||||
|
|
||||||
References to bug reports and discussions on issues:
|
References to bug reports and discussions on issues:
|
||||||
|
|
||||||
[1] = http://curl.haxx.se/bug/view.cgi?id=1350
|
[1] = http://curl.haxx.se/bug/view.cgi?id=1375
|
||||||
[2] = http://curl.haxx.se/mail/lib-2014-03/0173.html
|
[2] = http://curl.haxx.se/mail/lib-2014-05/0235.html
|
||||||
[3] = http://curl.haxx.se/mail/lib-2014-02/0135.html (ruined)
|
[3] = http://curl.haxx.se/mail/lib-2014-05/0260.html
|
||||||
[4] = http://curl.haxx.se/bug/view.cgi?id=1349
|
[4] = http://curl.haxx.se/mail/lib-2014-05/0278.html
|
||||||
[5] = http://curl.haxx.se/mail/lib-2014-04/0053.html
|
[5] = http://curl.haxx.se/mail/lib-2014-06/0001.html
|
||||||
[6] = http://curl.haxx.se/mail/lib-2014-04/0063.html
|
[6] = http://curl.haxx.se/mail/lib-2014-06/0003.html
|
||||||
[7] = http://curl.haxx.se/mail/lib-2014-04/0067.html
|
[7] = http://curl.haxx.se/bug/view.cgi?id=1378
|
||||||
[8] = http://curl.haxx.se/mail/lib-2014-04/0159.html
|
[8] = http://curl.haxx.se/bug/view.cgi?id=1380
|
||||||
[9] = http://curl.haxx.se/bug/view.cgi?id=1362
|
[9] = http://curl.haxx.se/mail/lib-2014-06/0062.html
|
||||||
[10] = http://curl.haxx.se/mail/lib-2014-04/0145.html
|
[10] = http://curl.haxx.se/bug/view.cgi?id=1391
|
||||||
[11] = https://github.com/bagder/curl/pull/97
|
[11] = http://curl.haxx.se/mail/lib-2014-07/0103.html
|
||||||
[12] = http://curl.haxx.se/mail/lib-2014-04/0161.html
|
[12] = http://curl.haxx.se/mail/lib-2014-02/0184.html
|
||||||
[13] = http://thread.gmane.org/gmane.comp.version-control.git/238242
|
|
||||||
[14] = http://curl.haxx.se/bug/view.cgi?id=1352
|
|
||||||
[15] = https://bugzilla.redhat.com/1093348
|
|
||||||
[16] = http://curl.haxx.se/bug/view.cgi?id=1368
|
|
||||||
[17] = http://curl.haxx.se/mail/lib-2014-05/0081.html
|
|
||||||
[18] = http://curl.haxx.se/mail/lib-2014-05/0025.html
|
|
||||||
[19] = http://curl.haxx.se/bug/view.cgi?id=1371
|
|
||||||
[20] = http://curl.haxx.se/bug/view.cgi?id=1369
|
|
||||||
[21] = http://curl.haxx.se/mail/lib-2014-05/0147.html
|
|
||||||
[22] = http://curl.haxx.se/mail/lib-2014-04/0203.html
|
|
||||||
[23] = http://curl.haxx.se/mail/lib-2014-05/0127.html
|
|
||||||
[24] = http://curl.haxx.se/bug/view.cgi?id=1343
|
|
||||||
[25] = http://curl.haxx.se/bug/view.cgi?id=1344
|
|
||||||
[26] = http://curl.haxx.se/bug/view.cgi?id=1374
|
|
||||||
|
@@ -32,6 +32,7 @@ die(){
|
|||||||
#--------------------------------------------------------------------------
|
#--------------------------------------------------------------------------
|
||||||
# findtool works as 'which' but we use a different name to make it more
|
# findtool works as 'which' but we use a different name to make it more
|
||||||
# obvious we aren't using 'which'! ;-)
|
# obvious we aren't using 'which'! ;-)
|
||||||
|
# Unlike 'which' does, the current directory is ignored.
|
||||||
#
|
#
|
||||||
findtool(){
|
findtool(){
|
||||||
file="$1"
|
file="$1"
|
||||||
@@ -49,7 +50,7 @@ findtool(){
|
|||||||
do
|
do
|
||||||
IFS=$old_IFS
|
IFS=$old_IFS
|
||||||
# echo "checks for $file in $path" >&2
|
# echo "checks for $file in $path" >&2
|
||||||
if test -f "$path/$file"; then
|
if test "$path" -a "$path" != '.' -a -f "$path/$file"; then
|
||||||
echo "$path/$file"
|
echo "$path/$file"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
74
configure.ac
74
configure.ac
@@ -1209,7 +1209,9 @@ if test x"$want_gss" = xyes; then
|
|||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
|
|
||||||
if test -z "$GSSAPI_INCS"; then
|
if test -z "$GSSAPI_INCS"; then
|
||||||
if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
|
if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
|
||||||
|
GSSAPI_INCS=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --cflags gssapi`
|
||||||
|
elif test -f "$GSSAPI_ROOT/bin/krb5-config"; then
|
||||||
GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
|
GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
|
||||||
elif test "$GSSAPI_ROOT" != "yes"; then
|
elif test "$GSSAPI_ROOT" != "yes"; then
|
||||||
GSSAPI_INCS="-I$GSSAPI_ROOT/include"
|
GSSAPI_INCS="-I$GSSAPI_ROOT/include"
|
||||||
@@ -1301,7 +1303,12 @@ if test x"$want_gss" = xyes; then
|
|||||||
LIBS="-lgss $LIBS"
|
LIBS="-lgss $LIBS"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
|
if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
|
||||||
|
dnl krb5-config doesn't have --libs-only-L or similar, put everything
|
||||||
|
dnl into LIBS
|
||||||
|
gss_libs=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --libs gssapi`
|
||||||
|
LIBS="$gss_libs $LIBS"
|
||||||
|
elif test -f "$GSSAPI_ROOT/bin/krb5-config"; then
|
||||||
dnl krb5-config doesn't have --libs-only-L or similar, put everything
|
dnl krb5-config doesn't have --libs-only-L or similar, put everything
|
||||||
dnl into LIBS
|
dnl into LIBS
|
||||||
gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
|
gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
|
||||||
@@ -2732,8 +2739,7 @@ dnl **********************************************************************
|
|||||||
dnl Check for nghttp2
|
dnl Check for nghttp2
|
||||||
dnl **********************************************************************
|
dnl **********************************************************************
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to build with nghttp2])
|
OPT_H2="yes"
|
||||||
OPT_H2="no"
|
|
||||||
AC_ARG_WITH(nghttp2,
|
AC_ARG_WITH(nghttp2,
|
||||||
AC_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage])
|
AC_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage])
|
||||||
AC_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]),
|
AC_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]),
|
||||||
@@ -2742,24 +2748,16 @@ case "$OPT_H2" in
|
|||||||
no)
|
no)
|
||||||
dnl --without-nghttp2 option used
|
dnl --without-nghttp2 option used
|
||||||
want_h2="no"
|
want_h2="no"
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
;;
|
|
||||||
default)
|
|
||||||
dnl configure option not specified
|
|
||||||
want_h2="no"
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
;;
|
;;
|
||||||
yes)
|
yes)
|
||||||
dnl --with-nghttp2 option used without path
|
dnl --with-nghttp2 option used without path
|
||||||
want_h2="yes"
|
want_h2="default"
|
||||||
want_h2_path=""
|
want_h2_path=""
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
dnl --with-nghttp2 option used with path
|
dnl --with-nghttp2 option used with path
|
||||||
want_h2="yes"
|
want_h2="yes"
|
||||||
want_h2_path="$withval/lib/pkgconfig"
|
want_h2_path="$withval/lib/pkgconfig"
|
||||||
AC_MSG_RESULT([yes ($withval)])
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@@ -2785,31 +2783,34 @@ if test X"$want_h2" != Xno; then
|
|||||||
$PKGCONFIG --libs-only-L libnghttp2`
|
$PKGCONFIG --libs-only-L libnghttp2`
|
||||||
AC_MSG_NOTICE([-L is $LD_H2])
|
AC_MSG_NOTICE([-L is $LD_H2])
|
||||||
|
|
||||||
|
LDFLAGS="$LDFLAGS $LD_H2"
|
||||||
|
CPPFLAGS="$CPPFLAGS $CPP_H2"
|
||||||
|
LIBS="$LIB_H2 $LIBS"
|
||||||
|
|
||||||
|
AC_CHECK_LIB(nghttp2, nghttp2_session_client_new,
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(nghttp2/nghttp2.h,
|
||||||
|
curl_h2_msg="enabled (nghttp2)"
|
||||||
|
NGHTTP2_ENABLED=1
|
||||||
|
AC_DEFINE(USE_NGHTTP2, 1, [if nghttp2 is in use])
|
||||||
|
AC_SUBST(USE_NGHTTP2, [1])
|
||||||
|
)
|
||||||
|
],
|
||||||
|
dnl not found, revert back to clean variables
|
||||||
|
LDFLAGS=$CLEANLDFLAGS
|
||||||
|
CPPFLAGS=$CLEANCPPFLAGS
|
||||||
|
LIBS=$CLEANLIBS
|
||||||
|
)
|
||||||
|
|
||||||
else
|
else
|
||||||
dnl To avoid link errors, we do not allow --libnghttp2 without
|
dnl no nghttp2 pkg-config found, deal with it
|
||||||
dnl a pkgconfig file
|
if test X"$want_h2" != Xdefault; then
|
||||||
AC_MSG_ERROR([--with-nghttp2 was specified but could not find libnghttp2 pkg-config file.])
|
dnl To avoid link errors, we do not allow --with-nghttp2 without
|
||||||
|
dnl a pkgconfig file
|
||||||
|
AC_MSG_ERROR([--with-nghttp2 was specified but could not find libnghttp2 pkg-config file.])
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LDFLAGS="$LDFLAGS $LD_H2"
|
|
||||||
CPPFLAGS="$CPPFLAGS $CPP_H2"
|
|
||||||
LIBS="$LIB_H2 $LIBS"
|
|
||||||
|
|
||||||
AC_CHECK_LIB(nghttp2, nghttp2_session_client_new,
|
|
||||||
[
|
|
||||||
AC_CHECK_HEADERS(nghttp2/nghttp2.h,
|
|
||||||
curl_h2_msg="enabled (nghttp2)"
|
|
||||||
NGHTTP2_ENABLED=1
|
|
||||||
AC_DEFINE(USE_NGHTTP2, 1, [if nghttp2 is in use])
|
|
||||||
AC_SUBST(USE_NGHTTP2, [1])
|
|
||||||
)
|
|
||||||
],
|
|
||||||
dnl not found, revert back to clean variables
|
|
||||||
LDFLAGS=$CLEANLDFLAGS
|
|
||||||
CPPFLAGS=$CLEANCPPFLAGS
|
|
||||||
LIBS=$CLEANLIBS
|
|
||||||
)
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl **********************************************************************
|
dnl **********************************************************************
|
||||||
@@ -3039,8 +3040,10 @@ AC_CHECK_FUNCS([fork \
|
|||||||
getppid \
|
getppid \
|
||||||
getprotobyname \
|
getprotobyname \
|
||||||
getpwuid \
|
getpwuid \
|
||||||
|
getpwuid_r \
|
||||||
getrlimit \
|
getrlimit \
|
||||||
gettimeofday \
|
gettimeofday \
|
||||||
|
if_nametoindex \
|
||||||
inet_addr \
|
inet_addr \
|
||||||
perror \
|
perror \
|
||||||
pipe \
|
pipe \
|
||||||
@@ -3511,6 +3514,7 @@ AC_CONFIG_FILES([Makefile \
|
|||||||
docs/Makefile \
|
docs/Makefile \
|
||||||
docs/examples/Makefile \
|
docs/examples/Makefile \
|
||||||
docs/libcurl/Makefile \
|
docs/libcurl/Makefile \
|
||||||
|
docs/libcurl/opts/Makefile \
|
||||||
include/Makefile \
|
include/Makefile \
|
||||||
include/curl/Makefile \
|
include/curl/Makefile \
|
||||||
src/Makefile \
|
src/Makefile \
|
||||||
|
6
docs/FAQ
6
docs/FAQ
@@ -1099,6 +1099,12 @@ FAQ
|
|||||||
your system has such. Note that you must never share the same handle in
|
your system has such. Note that you must never share the same handle in
|
||||||
multiple threads.
|
multiple threads.
|
||||||
|
|
||||||
|
libcurl's implementation of timeouts might use signals (depending on what it
|
||||||
|
was built to use for name resolving), and signal handling is generally not
|
||||||
|
thread-safe. Multi-threaded Applicationss that call libcurl from different
|
||||||
|
threads (on different handles) might want to use CURLOPT_NOSIGNAL, e.g.:
|
||||||
|
|
||||||
|
curl_easy_setopt(handle, CURLOPT_NOSIGNAL, true);
|
||||||
|
|
||||||
If you use a OpenSSL-powered libcurl in a multi-threaded environment, you
|
If you use a OpenSSL-powered libcurl in a multi-threaded environment, you
|
||||||
need to provide one or two locking functions:
|
need to provide one or two locking functions:
|
||||||
|
@@ -33,7 +33,7 @@ Portability
|
|||||||
want it to remain functional and buildable with these and later versions
|
want it to remain functional and buildable with these and later versions
|
||||||
(older versions may still work but is not what we work hard to maintain):
|
(older versions may still work but is not what we work hard to maintain):
|
||||||
|
|
||||||
OpenSSL 0.9.6
|
OpenSSL 0.9.7
|
||||||
GnuTLS 1.2
|
GnuTLS 1.2
|
||||||
zlib 1.1.4
|
zlib 1.1.4
|
||||||
libssh2 0.16
|
libssh2 0.16
|
||||||
|
@@ -25,14 +25,6 @@ may have been fixed since this was written!
|
|||||||
84. CURLINFO_SSL_VERIFYRESULT is only implemented for the OpenSSL and NSS
|
84. CURLINFO_SSL_VERIFYRESULT is only implemented for the OpenSSL and NSS
|
||||||
backends, so relying on this information in a generic app is flaky.
|
backends, so relying on this information in a generic app is flaky.
|
||||||
|
|
||||||
83. curl is unable to load non-default openssl engines, because openssl isn't
|
|
||||||
initialized properly. This seems to require OpenSSL_config() or
|
|
||||||
CONF_modules_load_file() to be used by libcurl but the first seems to not
|
|
||||||
work and we've gotten not reports from tests with the latter. Possibly we
|
|
||||||
need to discuss with OpenSSL developers how this is supposed to be done. We
|
|
||||||
need users with actual external openssl engines for testing to work on this.
|
|
||||||
http://curl.haxx.se/bug/view.cgi?id=1208
|
|
||||||
|
|
||||||
82. When building with the Windows Borland compiler, it fails because the
|
82. When building with the Windows Borland compiler, it fails because the
|
||||||
"tlib" tool doesn't support hyphens (minus signs) in file names and we have
|
"tlib" tool doesn't support hyphens (minus signs) in file names and we have
|
||||||
such in the build.
|
such in the build.
|
||||||
@@ -179,9 +171,6 @@ may have been fixed since this was written!
|
|||||||
run that might be needed only for building libcurl. Further, curl-config
|
run that might be needed only for building libcurl. Further, curl-config
|
||||||
--cflags suffers from the same effects with CFLAGS/CPPFLAGS.
|
--cflags suffers from the same effects with CFLAGS/CPPFLAGS.
|
||||||
|
|
||||||
30. You need to use -g to the command line tool in order to use RFC2732-style
|
|
||||||
or RFC6874-style IPv6 numerical addresses in URLs.
|
|
||||||
|
|
||||||
26. NTLM authentication using SSPI (on Windows) when (lib)curl is running in
|
26. NTLM authentication using SSPI (on Windows) when (lib)curl is running in
|
||||||
"system context" will make it use wrong(?) user name - at least when compared
|
"system context" will make it use wrong(?) user name - at least when compared
|
||||||
to what winhttp does. See http://curl.haxx.se/bug/view.cgi?id=535
|
to what winhttp does. See http://curl.haxx.se/bug/view.cgi?id=535
|
||||||
|
88
docs/ROADMAP.md
Normal file
88
docs/ROADMAP.md
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
curl the next few years - perhaps
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Roadmap of things Daniel Stenberg and Steve Holme want to work on next. It is
|
||||||
|
intended to serve as a guideline for others for information, feedback and
|
||||||
|
possible participation.
|
||||||
|
|
||||||
|
New stuff - libcurl
|
||||||
|
===================
|
||||||
|
|
||||||
|
1. http2 test suite
|
||||||
|
|
||||||
|
2. http2 multiplexing/pipelining
|
||||||
|
|
||||||
|
3. SPDY
|
||||||
|
|
||||||
|
4. SRV records
|
||||||
|
|
||||||
|
5. HTTPS to proxy
|
||||||
|
|
||||||
|
6. make sure there's an easy handle passed in to curl_formadd(),
|
||||||
|
curl_formget() and curl_formfree() by adding replacement functions and
|
||||||
|
deprecating the old ones to allow custom mallocs and more
|
||||||
|
|
||||||
|
7. HTTP Digest authentication via Windows SSPI
|
||||||
|
|
||||||
|
8. GSSAPI authentication in the email protocols
|
||||||
|
|
||||||
|
9. add support for third-party SASL libraries such as Cyrus SASL - may need to
|
||||||
|
move existing native and SSPI based authentication into vsasl folder after
|
||||||
|
reworking HTTP and SASL code
|
||||||
|
|
||||||
|
10. SASL authentication in LDAP
|
||||||
|
|
||||||
|
11. Simplify the SMTP email interface so that programmers don't have to
|
||||||
|
construct the body of an email that contains all the headers, alternative
|
||||||
|
content, images and attachments - maintain raw interface so that
|
||||||
|
programmers that want to do this can
|
||||||
|
|
||||||
|
12. Allow the email protocols to return the capabilities before
|
||||||
|
authenticating. This will allow an application to decide on the best
|
||||||
|
authentication mechanism
|
||||||
|
|
||||||
|
13. Allow Windows threading model to be replaced by Win32 pthreads port
|
||||||
|
|
||||||
|
14. Implement a dynamic buffer size to allow SFTP to use much larger buffers
|
||||||
|
and possibly allow the size to be customizable by applications. Use less
|
||||||
|
memory when handles are not in use?
|
||||||
|
|
||||||
|
New stuff - curl
|
||||||
|
================
|
||||||
|
|
||||||
|
1. Embed a language interpreter (lua?). For that middle ground where curl
|
||||||
|
isn’t enough and a libcurl binding feels “too much”. Build-time conditional
|
||||||
|
of course.
|
||||||
|
|
||||||
|
2. Simplify the SMTP command line so that the headers and multi-part content
|
||||||
|
don't have to be constructed before calling curl
|
||||||
|
|
||||||
|
Improve
|
||||||
|
=======
|
||||||
|
|
||||||
|
1. build for windows (considered hard by many users)
|
||||||
|
|
||||||
|
2. curl -h output (considered overwhelming to users)
|
||||||
|
|
||||||
|
3. we have > 160 command line options, is there a way to redo things to
|
||||||
|
simplify or improve the situation as we are likely to keep adding
|
||||||
|
features/options in the future too
|
||||||
|
|
||||||
|
4. docs (considered "bad" by users but how do we make it better?)
|
||||||
|
A - split up curl_easy_setopt.3
|
||||||
|
B - split up curl.1
|
||||||
|
|
||||||
|
5. authentication framework (consider merging HTTP and SASL authentication to
|
||||||
|
give one API for protocols to call)
|
||||||
|
|
||||||
|
6. Perform some of the clean up from the TODO document, removing old
|
||||||
|
definitions and such like that are currently earmarked to be removed years
|
||||||
|
ago
|
||||||
|
|
||||||
|
Remove
|
||||||
|
======
|
||||||
|
|
||||||
|
1. cmake support (nobody maintains it)
|
||||||
|
|
||||||
|
2. makefile.vc files as there is no point in maintaining two sets of Windows
|
||||||
|
makefiles. Note: These are currently being used by the Windows autobuilds
|
@@ -103,8 +103,8 @@ any response data to the terminal.
|
|||||||
If you prefer a progress "bar" instead of the regular meter, \fI-#\fP is your
|
If you prefer a progress "bar" instead of the regular meter, \fI-#\fP is your
|
||||||
friend.
|
friend.
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
Options start with one or two dashes. Many of the options require an addition
|
Options start with one or two dashes. Many of the options require an
|
||||||
value next to it.
|
additional value next to them.
|
||||||
|
|
||||||
The short "single-dash" form of the options, -d for example, may be used with
|
The short "single-dash" form of the options, -d for example, may be used with
|
||||||
or without a space between it and its value, although a space is a recommended
|
or without a space between it and its value, although a space is a recommended
|
||||||
@@ -1629,6 +1629,10 @@ Specify the user name and password to use for server authentication. Overrides
|
|||||||
|
|
||||||
If you simply specify the user name, curl will prompt for a password.
|
If you simply specify the user name, curl will prompt for a password.
|
||||||
|
|
||||||
|
The user name and passwords are split up on the first colon, which makes it
|
||||||
|
impossible to use a colon in the user name with this option. The password can,
|
||||||
|
still.
|
||||||
|
|
||||||
If you use an SSPI-enabled curl binary and perform NTLM authentication, you
|
If you use an SSPI-enabled curl binary and perform NTLM authentication, you
|
||||||
can force curl to select the user name and password from your environment by
|
can force curl to select the user name and password from your environment by
|
||||||
specifying a single colon with this option: "-u :".
|
specifying a single colon with this option: "-u :".
|
||||||
|
@@ -125,7 +125,7 @@ int main(void)
|
|||||||
rv=curl_easy_setopt(ch,CURLOPT_WRITEFUNCTION, *writefunction);
|
rv=curl_easy_setopt(ch,CURLOPT_WRITEFUNCTION, *writefunction);
|
||||||
rv=curl_easy_setopt(ch,CURLOPT_WRITEDATA, stdout);
|
rv=curl_easy_setopt(ch,CURLOPT_WRITEDATA, stdout);
|
||||||
rv=curl_easy_setopt(ch,CURLOPT_HEADERFUNCTION, *writefunction);
|
rv=curl_easy_setopt(ch,CURLOPT_HEADERFUNCTION, *writefunction);
|
||||||
rv=curl_easy_setopt(ch,CURLOPT_WRITEHEADER, stderr);
|
rv=curl_easy_setopt(ch,CURLOPT_HEADERDATA, stderr);
|
||||||
rv=curl_easy_setopt(ch,CURLOPT_SSLCERTTYPE,"PEM");
|
rv=curl_easy_setopt(ch,CURLOPT_SSLCERTTYPE,"PEM");
|
||||||
rv=curl_easy_setopt(ch,CURLOPT_SSL_VERIFYPEER,1L);
|
rv=curl_easy_setopt(ch,CURLOPT_SSL_VERIFYPEER,1L);
|
||||||
rv=curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/");
|
rv=curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/");
|
||||||
|
@@ -58,7 +58,7 @@ int main(void)
|
|||||||
/* If you intend to use this on windows with a libcurl DLL, you must use
|
/* If you intend to use this on windows with a libcurl DLL, you must use
|
||||||
CURLOPT_WRITEFUNCTION as well */
|
CURLOPT_WRITEFUNCTION as well */
|
||||||
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_response);
|
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_response);
|
||||||
curl_easy_setopt(curl, CURLOPT_WRITEHEADER, respfile);
|
curl_easy_setopt(curl, CURLOPT_HEADERDATA, respfile);
|
||||||
res = curl_easy_perform(curl);
|
res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if(res != CURLE_OK)
|
if(res != CURLE_OK)
|
||||||
|
@@ -74,7 +74,7 @@ int main(int argc, char *argv[])
|
|||||||
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
|
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
|
||||||
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
|
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
|
||||||
curl_easy_setopt(curl, CURLOPT_WRITEDATA, hsp);
|
curl_easy_setopt(curl, CURLOPT_WRITEDATA, hsp);
|
||||||
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
|
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
|
||||||
|
|
||||||
curl_easy_perform(curl);
|
curl_easy_perform(curl);
|
||||||
|
|
||||||
|
@@ -224,7 +224,7 @@ int main(int argc, char * const argv[])
|
|||||||
if (curl != NULL) {
|
if (curl != NULL) {
|
||||||
my_curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);
|
my_curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);
|
||||||
my_curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
|
my_curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
|
||||||
my_curl_easy_setopt(curl, CURLOPT_WRITEHEADER, stdout);
|
my_curl_easy_setopt(curl, CURLOPT_HEADERDATA, stdout);
|
||||||
my_curl_easy_setopt(curl, CURLOPT_URL, url);
|
my_curl_easy_setopt(curl, CURLOPT_URL, url);
|
||||||
|
|
||||||
/* request server options */
|
/* request server options */
|
||||||
|
@@ -66,7 +66,7 @@ int main(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* we want the headers be written to this file handle */
|
/* we want the headers be written to this file handle */
|
||||||
curl_easy_setopt(curl_handle, CURLOPT_WRITEHEADER, headerfile);
|
curl_easy_setopt(curl_handle, CURLOPT_HEADERDATA, headerfile);
|
||||||
|
|
||||||
/* we want the body be written to this file handle instead of stdout */
|
/* we want the body be written to this file handle instead of stdout */
|
||||||
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, bodyfile);
|
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, bodyfile);
|
||||||
|
@@ -75,7 +75,7 @@ int main(void)
|
|||||||
if(curl) {
|
if(curl) {
|
||||||
/* what call to write: */
|
/* what call to write: */
|
||||||
curl_easy_setopt(curl, CURLOPT_URL, "HTTPS://your.favourite.ssl.site");
|
curl_easy_setopt(curl, CURLOPT_URL, "HTTPS://your.favourite.ssl.site");
|
||||||
curl_easy_setopt(curl, CURLOPT_WRITEHEADER, headerfile);
|
curl_easy_setopt(curl, CURLOPT_HEADERDATA, headerfile);
|
||||||
|
|
||||||
for(i = 0; i < 1; i++) /* single-iteration loop, just to break out from */
|
for(i = 0; i < 1; i++) /* single-iteration loop, just to break out from */
|
||||||
{
|
{
|
||||||
|
@@ -63,9 +63,8 @@ int main(int argc, char *argv[])
|
|||||||
pagefile = fopen(pagefilename, "wb");
|
pagefile = fopen(pagefilename, "wb");
|
||||||
if (pagefile) {
|
if (pagefile) {
|
||||||
|
|
||||||
/* write the page body to this file handle. CURLOPT_FILE is also known as
|
/* write the page body to this file handle */
|
||||||
CURLOPT_WRITEDATA*/
|
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, pagefile);
|
||||||
curl_easy_setopt(curl_handle, CURLOPT_FILE, pagefile);
|
|
||||||
|
|
||||||
/* get it! */
|
/* get it! */
|
||||||
curl_easy_perform(curl_handle);
|
curl_easy_perform(curl_handle);
|
||||||
|
@@ -184,7 +184,7 @@ int main(void)
|
|||||||
rv = curl_easy_setopt(ch,CURLOPT_WRITEFUNCTION, *writefunction);
|
rv = curl_easy_setopt(ch,CURLOPT_WRITEFUNCTION, *writefunction);
|
||||||
rv = curl_easy_setopt(ch,CURLOPT_WRITEDATA, stdout);
|
rv = curl_easy_setopt(ch,CURLOPT_WRITEDATA, stdout);
|
||||||
rv = curl_easy_setopt(ch,CURLOPT_HEADERFUNCTION, *writefunction);
|
rv = curl_easy_setopt(ch,CURLOPT_HEADERFUNCTION, *writefunction);
|
||||||
rv = curl_easy_setopt(ch,CURLOPT_WRITEHEADER, stderr);
|
rv = curl_easy_setopt(ch,CURLOPT_HEADERDATA, stderr);
|
||||||
rv = curl_easy_setopt(ch,CURLOPT_SSLCERTTYPE,"PEM");
|
rv = curl_easy_setopt(ch,CURLOPT_SSLCERTTYPE,"PEM");
|
||||||
|
|
||||||
/* both VERIFYPEER and VERIFYHOST are set to 0 in this case because there is
|
/* both VERIFYPEER and VERIFYHOST are set to 0 in this case because there is
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
# | (__| |_| | _ <| |___
|
# | (__| |_| | _ <| |___
|
||||||
# \___|\___/|_| \_\_____|
|
# \___|\___/|_| \_\_____|
|
||||||
#
|
#
|
||||||
# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
|
# Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
#
|
#
|
||||||
# This software is licensed as described in the file COPYING, which
|
# This software is licensed as described in the file COPYING, which
|
||||||
# you should have received as part of this distribution. The terms
|
# you should have received as part of this distribution. The terms
|
||||||
@@ -22,6 +22,8 @@
|
|||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||||
|
|
||||||
|
SUBDIRS = opts
|
||||||
|
|
||||||
man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \
|
man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \
|
||||||
curl_easy_perform.3 curl_easy_setopt.3 curl_easy_duphandle.3 \
|
curl_easy_perform.3 curl_easy_setopt.3 curl_easy_duphandle.3 \
|
||||||
curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \
|
curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \
|
||||||
@@ -91,11 +93,13 @@ MAN2HTML= roffit --mandir=. < $< >$@
|
|||||||
SUFFIXES = .3 .html
|
SUFFIXES = .3 .html
|
||||||
|
|
||||||
html: $(HTMLPAGES)
|
html: $(HTMLPAGES)
|
||||||
|
cd opts; make html
|
||||||
|
|
||||||
.3.html:
|
.3.html:
|
||||||
$(MAN2HTML)
|
$(MAN2HTML)
|
||||||
|
|
||||||
pdf: $(PDFPAGES)
|
pdf: $(PDFPAGES)
|
||||||
|
cd opts; make pdf
|
||||||
|
|
||||||
.3.pdf:
|
.3.pdf:
|
||||||
@(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
|
@(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
|
||||||
|
@@ -60,9 +60,9 @@ Pass a pointer to a long to receive the remote time of the retrieved document
|
|||||||
-1, it can be because of many reasons (unknown, the server hides it or the
|
-1, it can be because of many reasons (unknown, the server hides it or the
|
||||||
server doesn't support the command that tells document time etc) and the time
|
server doesn't support the command that tells document time etc) and the time
|
||||||
of the document is unknown. Note that you must tell the server to collect this
|
of the document is unknown. Note that you must tell the server to collect this
|
||||||
information before the transfer is made, by using the CURLOPT_FILETIME option
|
information before the transfer is made, by using the
|
||||||
to \fIcurl_easy_setopt(3)\fP or you will unconditionally get a -1 back. (Added
|
\fICURLOPT_FILETIME(3)\fP option to \fIcurl_easy_setopt(3)\fP or you will
|
||||||
in 7.5)
|
unconditionally get a -1 back. (Added in 7.5)
|
||||||
.IP CURLINFO_TOTAL_TIME
|
.IP CURLINFO_TOTAL_TIME
|
||||||
Pass a pointer to a double to receive the total time in seconds for the
|
Pass a pointer to a double to receive the total time in seconds for the
|
||||||
previous transfer, including name resolving, TCP connect etc.
|
previous transfer, including name resolving, TCP connect etc.
|
||||||
@@ -99,10 +99,10 @@ Pass a pointer to a long to receive the total number of redirections that were
|
|||||||
actually followed. (Added in 7.9.7)
|
actually followed. (Added in 7.9.7)
|
||||||
.IP CURLINFO_REDIRECT_URL
|
.IP CURLINFO_REDIRECT_URL
|
||||||
Pass a pointer to a char pointer to receive the URL a redirect \fIwould\fP
|
Pass a pointer to a char pointer to receive the URL a redirect \fIwould\fP
|
||||||
take you to if you would enable CURLOPT_FOLLOWLOCATION. This can come very
|
take you to if you would enable \fICURLOPT_FOLLOWLOCATION(3)\fP. This can come
|
||||||
handy if you think using the built-in libcurl redirect logic isn't good enough
|
very handy if you think using the built-in libcurl redirect logic isn't good
|
||||||
for you but you would still prefer to avoid implementing all the magic of
|
enough for you but you would still prefer to avoid implementing all the magic
|
||||||
figuring out the new URL. (Added in 7.18.2)
|
of figuring out the new URL. (Added in 7.18.2)
|
||||||
.IP CURLINFO_SIZE_UPLOAD
|
.IP CURLINFO_SIZE_UPLOAD
|
||||||
Pass a pointer to a double to receive the total amount of bytes that were
|
Pass a pointer to a double to receive the total amount of bytes that were
|
||||||
uploaded.
|
uploaded.
|
||||||
@@ -127,8 +127,8 @@ requests. This is so far only for HTTP requests. Note that this may be more
|
|||||||
than one request if FOLLOWLOCATION is true.
|
than one request if FOLLOWLOCATION is true.
|
||||||
.IP CURLINFO_SSL_VERIFYRESULT
|
.IP CURLINFO_SSL_VERIFYRESULT
|
||||||
Pass a pointer to a long to receive the result of the certification
|
Pass a pointer to a long to receive the result of the certification
|
||||||
verification that was requested (using the CURLOPT_SSL_VERIFYPEER option to
|
verification that was requested (using the \fICURLOPT_SSL_VERIFYPEER(3)\fP
|
||||||
\fIcurl_easy_setopt(3)\fP).
|
option to \fIcurl_easy_setopt(3)\fP).
|
||||||
.IP CURLINFO_SSL_ENGINES
|
.IP CURLINFO_SSL_ENGINES
|
||||||
Pass the address of a 'struct curl_slist *' to receive a linked-list of
|
Pass the address of a 'struct curl_slist *' to receive a linked-list of
|
||||||
OpenSSL crypto-engines supported. Note that engines are normally implemented
|
OpenSSL crypto-engines supported. Note that engines are normally implemented
|
||||||
@@ -150,14 +150,15 @@ it means that the server didn't send a valid Content-Type header or that the
|
|||||||
protocol used doesn't support this.
|
protocol used doesn't support this.
|
||||||
.IP CURLINFO_PRIVATE
|
.IP CURLINFO_PRIVATE
|
||||||
Pass a pointer to a char pointer to receive the pointer to the private data
|
Pass a pointer to a char pointer to receive the pointer to the private data
|
||||||
associated with the curl handle (set with the CURLOPT_PRIVATE option to
|
associated with the curl handle (set with the \fICURLOPT_PRIVATE(3)\fP option
|
||||||
\fIcurl_easy_setopt(3)\fP). Please note that for internal reasons, the
|
to \fIcurl_easy_setopt(3)\fP). Please note that for internal reasons, the
|
||||||
value is returned as a char pointer, although effectively being a 'void *'.
|
value is returned as a char pointer, although effectively being a 'void *'.
|
||||||
(Added in 7.10.3)
|
(Added in 7.10.3)
|
||||||
.IP CURLINFO_HTTPAUTH_AVAIL
|
.IP CURLINFO_HTTPAUTH_AVAIL
|
||||||
Pass a pointer to a long to receive a bitmask indicating the authentication
|
Pass a pointer to a long to receive a bitmask indicating the authentication
|
||||||
method(s) available. The meaning of the bits is explained in the
|
method(s) available. The meaning of the bits is explained in the
|
||||||
CURLOPT_HTTPAUTH option for \fIcurl_easy_setopt(3)\fP. (Added in 7.10.8)
|
\fICURLOPT_HTTPAUTH(3)\fP option for \fIcurl_easy_setopt(3)\fP. (Added in
|
||||||
|
7.10.8)
|
||||||
.IP CURLINFO_PROXYAUTH_AVAIL
|
.IP CURLINFO_PROXYAUTH_AVAIL
|
||||||
Pass a pointer to a long to receive a bitmask indicating the authentication
|
Pass a pointer to a long to receive a bitmask indicating the authentication
|
||||||
method(s) available for your proxy authentication. (Added in 7.10.8)
|
method(s) available for your proxy authentication. (Added in 7.10.8)
|
||||||
@@ -201,8 +202,8 @@ Pass a pointer to a long to receive the last socket used by this curl
|
|||||||
session. If the socket is no longer valid, -1 is returned. When you finish
|
session. If the socket is no longer valid, -1 is returned. When you finish
|
||||||
working with the socket, you must call curl_easy_cleanup() as usual and let
|
working with the socket, you must call curl_easy_cleanup() as usual and let
|
||||||
libcurl close the socket and cleanup other resources associated with the
|
libcurl close the socket and cleanup other resources associated with the
|
||||||
handle. This is typically used in combination with \fICURLOPT_CONNECT_ONLY\fP.
|
handle. This is typically used in combination with
|
||||||
(Added in 7.15.2)
|
\fICURLOPT_CONNECT_ONLY(3)\fP. (Added in 7.15.2)
|
||||||
|
|
||||||
NOTE: this API is not really working on win64, since the SOCKET type on win64
|
NOTE: this API is not really working on win64, since the SOCKET type on win64
|
||||||
is 64 bit large while its 'long' is only 32 bits.
|
is 64 bit large while its 'long' is only 32 bits.
|
||||||
@@ -216,13 +217,13 @@ Also works for SFTP since 7.21.4
|
|||||||
.IP CURLINFO_CERTINFO
|
.IP CURLINFO_CERTINFO
|
||||||
Pass a pointer to a 'struct curl_certinfo *' and you'll get it set to point to
|
Pass a pointer to a 'struct curl_certinfo *' and you'll get it set to point to
|
||||||
struct that holds a number of linked lists with info about the certificate
|
struct that holds a number of linked lists with info about the certificate
|
||||||
chain, assuming you had CURLOPT_CERTINFO enabled when the previous request was
|
chain, assuming you had \fICURLOPT_CERTINFO(3)\fP enabled when the previous
|
||||||
done. The struct reports how many certs it found and then you can extract info
|
request was done. The struct reports how many certs it found and then you can
|
||||||
for each of those certs by following the linked lists. The info chain is
|
extract info for each of those certs by following the linked lists. The info
|
||||||
provided in a series of data in the format "name:content" where the content is
|
chain is provided in a series of data in the format "name:content" where the
|
||||||
for the specific named data. See also the certinfo.c example. NOTE: this
|
content is for the specific named data. See also the certinfo.c example. NOTE:
|
||||||
option is only available in libcurl built with OpenSSL, NSS, GSKit or QsoSSL
|
this option is only available in libcurl built with OpenSSL, NSS, GSKit or
|
||||||
support. (Added in 7.19.1)
|
QsoSSL support. (Added in 7.19.1)
|
||||||
.IP CURLINFO_TLS_SESSION
|
.IP CURLINFO_TLS_SESSION
|
||||||
Pass a pointer to a 'struct curl_tlsinfo *'. The pointer will be initialized
|
Pass a pointer to a 'struct curl_tlsinfo *'. The pointer will be initialized
|
||||||
to refer to a 'struct curl_tlsinfo *' that will contain an enum indicating the
|
to refer to a 'struct curl_tlsinfo *' that will contain an enum indicating the
|
||||||
@@ -237,8 +238,8 @@ this does not mean that no SSL backend was used. (Added in 7.34.0)
|
|||||||
|
|
||||||
.IP CURLINFO_CONDITION_UNMET
|
.IP CURLINFO_CONDITION_UNMET
|
||||||
Pass a pointer to a long to receive the number 1 if the condition provided in
|
Pass a pointer to a long to receive the number 1 if the condition provided in
|
||||||
the previous request didn't match (see \fICURLOPT_TIMECONDITION\fP). Alas, if
|
the previous request didn't match (see \fICURLOPT_TIMECONDITION(3)\fP). Alas,
|
||||||
this returns a 1 you know that the reason you didn't get data in return is
|
if this returns a 1 you know that the reason you didn't get data in return is
|
||||||
because it didn't fulfill the condition. The long ths argument points to will
|
because it didn't fulfill the condition. The long ths argument points to will
|
||||||
get a zero stored if the condition instead was met. (Added in 7.19.4)
|
get a zero stored if the condition instead was met. (Added in 7.19.4)
|
||||||
.IP CURLINFO_RTSP_SESSION_ID
|
.IP CURLINFO_RTSP_SESSION_ID
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -41,8 +41,8 @@ the writing is later unpaused.
|
|||||||
While it may feel tempting, take care and notice that you cannot call this
|
While it may feel tempting, take care and notice that you cannot call this
|
||||||
function from another thread. To unpause, you may for example call it from the
|
function from another thread. To unpause, you may for example call it from the
|
||||||
progress callback (see \fIcurl_easy_setopt(3)\fP's
|
progress callback (see \fIcurl_easy_setopt(3)\fP's
|
||||||
\fICURLOPT_PROGRESSFUNCTION\fP), which gets called at least once per second,
|
\fICURLOPT_PROGRESSFUNCTION(3)\fP), which gets called at least once per
|
||||||
even if the connection is paused.
|
second, even if the connection is paused.
|
||||||
|
|
||||||
When this function is called to unpause reading, the chance is high that you
|
When this function is called to unpause reading, the chance is high that you
|
||||||
will get your write callback called before this function returns.
|
will get your write callback called before this function returns.
|
||||||
@@ -55,11 +55,11 @@ connection. The following bits can be used:
|
|||||||
.IP CURLPAUSE_RECV
|
.IP CURLPAUSE_RECV
|
||||||
Pause receiving data. There will be no data received on this connection until
|
Pause receiving data. There will be no data received on this connection until
|
||||||
this function is called again without this bit set. Thus, the write callback
|
this function is called again without this bit set. Thus, the write callback
|
||||||
(\fICURLOPT_WRITEFUNCTION\fP) won't be called.
|
(\fICURLOPT_WRITEFUNCTION(3)\fP) won't be called.
|
||||||
.IP CURLPAUSE_SEND
|
.IP CURLPAUSE_SEND
|
||||||
Pause sending data. There will be no data sent on this connection until this
|
Pause sending data. There will be no data sent on this connection until this
|
||||||
function is called again without this bit set. Thus, the read callback
|
function is called again without this bit set. Thus, the read callback
|
||||||
(\fICURLOPT_READFUNCTION\fP) won't be called.
|
(\fICURLOPT_READFUNCTION(3)\fP) won't be called.
|
||||||
.IP CURLPAUSE_ALL
|
.IP CURLPAUSE_ALL
|
||||||
Convenience define that pauses both directions.
|
Convenience define that pauses both directions.
|
||||||
.IP CURLPAUSE_CONT
|
.IP CURLPAUSE_CONT
|
||||||
|
@@ -55,7 +55,7 @@ While the \fBeasy_handle\fP is added to a multi handle, it cannot be used by
|
|||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
CURLE_OK (0) means everything was ok, non-zero means an error occurred as
|
CURLE_OK (0) means everything was ok, non-zero means an error occurred as
|
||||||
.I <curl/curl.h>
|
.I <curl/curl.h>
|
||||||
defines - see \fIlibcurl-errors(3)\fP. If the \fBCURLOPT_ERRORBUFFER\fP was
|
defines - see \fIlibcurl-errors(3)\fP. If the \fBCURLOPT_ERRORBUFFER(3)\fP was
|
||||||
set with \fIcurl_easy_setopt(3)\fP there will be a readable error message in
|
set with \fIcurl_easy_setopt(3)\fP there will be a readable error message in
|
||||||
the error buffer when non-zero is returned.
|
the error buffer when non-zero is returned.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -41,7 +41,7 @@ data. \fBbuflen\fP is the maximum amount of data you can get in that
|
|||||||
buffer. The variable \fBn\fP points to will receive the number of received
|
buffer. The variable \fBn\fP points to will receive the number of received
|
||||||
bytes.
|
bytes.
|
||||||
|
|
||||||
To establish the connection, set \fBCURLOPT_CONNECT_ONLY\fP option before
|
To establish the connection, set \fBCURLOPT_CONNECT_ONLY(3)\fP option before
|
||||||
calling \fIcurl_easy_perform(3)\fP. Note that \fIcurl_easy_recv(3)\fP does not
|
calling \fIcurl_easy_perform(3)\fP. Note that \fIcurl_easy_recv(3)\fP does not
|
||||||
work on connections that were created without this option.
|
work on connections that were created without this option.
|
||||||
|
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -39,7 +39,7 @@ connection set-up.
|
|||||||
\fBbuffer\fP is a pointer to the data of length \fBbuflen\fP that you want sent.
|
\fBbuffer\fP is a pointer to the data of length \fBbuflen\fP that you want sent.
|
||||||
The variable \fBn\fP points to will receive the number of sent bytes.
|
The variable \fBn\fP points to will receive the number of sent bytes.
|
||||||
|
|
||||||
To establish the connection, set \fBCURLOPT_CONNECT_ONLY\fP option before
|
To establish the connection, set \fBCURLOPT_CONNECT_ONLY(3)\fP option before
|
||||||
calling \fIcurl_easy_perform(3)\fP. Note that \fIcurl_easy_send(3)\fP will not
|
calling \fIcurl_easy_perform(3)\fP. Note that \fIcurl_easy_send(3)\fP will not
|
||||||
work on connections that were created without this option.
|
work on connections that were created without this option.
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -48,4 +48,4 @@ Added in 7.15.4 and replaces the old \fIcurl_unescape(3)\fP function.
|
|||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
A pointer to a zero terminated string or NULL if it failed.
|
A pointer to a zero terminated string or NULL if it failed.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.I curl_easy_escape(3), curl_free(3), RFC 2396
|
.BR curl_easy_escape "(3), " curl_free "(3)," RFC 2396
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -32,7 +32,7 @@ curl_formadd - add a section to a multipart/formdata HTTP POST
|
|||||||
curl_formadd() is used to append sections when building a multipart/formdata
|
curl_formadd() is used to append sections when building a multipart/formdata
|
||||||
HTTP POST (sometimes referred to as RFC2388-style posts). Append one section
|
HTTP POST (sometimes referred to as RFC2388-style posts). Append one section
|
||||||
at a time until you've added all the sections you want included and then you
|
at a time until you've added all the sections you want included and then you
|
||||||
pass the \fIfirstitem\fP pointer as parameter to \fBCURLOPT_HTTPPOST\fP.
|
pass the \fIfirstitem\fP pointer as parameter to \fBCURLOPT_HTTPPOST(3)\fP.
|
||||||
\fIlastitem\fP is set after each \fIcurl_formadd(3)\fP call and on repeated
|
\fIlastitem\fP is set after each \fIcurl_formadd(3)\fP call and on repeated
|
||||||
invokes it should be left as set to allow repeated invokes to find the end of
|
invokes it should be left as set to allow repeated invokes to find the end of
|
||||||
the list faster.
|
the list faster.
|
||||||
@@ -45,7 +45,7 @@ the function itself. You must call \fIcurl_formfree(3)\fP on the
|
|||||||
\fIfirstitem\fP after the form post has been done to free the resources.
|
\fIfirstitem\fP after the form post has been done to free the resources.
|
||||||
|
|
||||||
Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
|
Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
|
||||||
You can disable this header with \fICURLOPT_HTTPHEADER\fP as usual.
|
You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual.
|
||||||
|
|
||||||
First, there are some basics you need to understand about multipart/formdata
|
First, there are some basics you need to understand about multipart/formdata
|
||||||
posts. Each part consists of at least a NAME and a CONTENTS part. If the part
|
posts. Each part consists of at least a NAME and a CONTENTS part. If the part
|
||||||
@@ -121,12 +121,13 @@ to the buffer to be uploaded. This buffer must not be freed until after
|
|||||||
is used in combination with \fICURLFORM_BUFFER\fP. The parameter is a
|
is used in combination with \fICURLFORM_BUFFER\fP. The parameter is a
|
||||||
long which gives the length of the buffer.
|
long which gives the length of the buffer.
|
||||||
.IP CURLFORM_STREAM
|
.IP CURLFORM_STREAM
|
||||||
Tells libcurl to use the \fICURLOPT_READFUNCTION\fP callback to get data. The
|
Tells libcurl to use the \fICURLOPT_READFUNCTION(3)\fP callback to get
|
||||||
parameter you pass to \fICURLFORM_STREAM\fP is the pointer passed on to the
|
data. The parameter you pass to \fICURLFORM_STREAM\fP is the pointer passed on
|
||||||
read callback's fourth argument. If you want the part to look like a file
|
to the read callback's fourth argument. If you want the part to look like a
|
||||||
upload one, set the \fICURLFORM_FILENAME\fP parameter as well. Note that when
|
file upload one, set the \fICURLFORM_FILENAME\fP parameter as well. Note that
|
||||||
using \fICURLFORM_STREAM\fP, \fICURLFORM_CONTENTSLENGTH\fP must also be set
|
when using \fICURLFORM_STREAM\fP, \fICURLFORM_CONTENTSLENGTH\fP must also be
|
||||||
with the total expected length of the part. (Option added in libcurl 7.18.2)
|
set with the total expected length of the part. (Option added in libcurl
|
||||||
|
7.18.2)
|
||||||
.IP CURLFORM_ARRAY
|
.IP CURLFORM_ARRAY
|
||||||
Another possibility to send options to curl_formadd() is the
|
Another possibility to send options to curl_formadd() is the
|
||||||
\fBCURLFORM_ARRAY\fP option, that passes a struct curl_forms array pointer as
|
\fBCURLFORM_ARRAY\fP option, that passes a struct curl_forms array pointer as
|
||||||
@@ -142,7 +143,7 @@ the POST occurs, if you free it before the post completes you may experience
|
|||||||
problems.
|
problems.
|
||||||
|
|
||||||
When you've passed the HttpPost pointer to \fIcurl_easy_setopt(3)\fP (using
|
When you've passed the HttpPost pointer to \fIcurl_easy_setopt(3)\fP (using
|
||||||
the \fICURLOPT_HTTPPOST\fP option), you must not free the list until after
|
the \fICURLOPT_HTTPPOST(3)\fP option), you must not free the list until after
|
||||||
you've called \fIcurl_easy_cleanup(3)\fP for the curl handle.
|
you've called \fIcurl_easy_cleanup(3)\fP for the curl handle.
|
||||||
|
|
||||||
See example below.
|
See example below.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -33,8 +33,8 @@ curl_formfree() is used to clean up data previously built/appended with
|
|||||||
typically means after \fIcurl_easy_perform(3)\fP has been called.
|
typically means after \fIcurl_easy_perform(3)\fP has been called.
|
||||||
|
|
||||||
The pointer to free is the same pointer you passed to the
|
The pointer to free is the same pointer you passed to the
|
||||||
\fBCURLOPT_HTTPPOST\fP option, which is the \fIfirstitem\fP pointer from the
|
\fBCURLOPT_HTTPPOST(3)\fP option, which is the \fIfirstitem\fP pointer from
|
||||||
\fIcurl_formadd(3)\fP invoke(s).
|
the \fIcurl_formadd(3)\fP invoke(s).
|
||||||
|
|
||||||
\fBform\fP is the pointer as returned from a previous call to
|
\fBform\fP is the pointer as returned from a previous call to
|
||||||
\fIcurl_formadd(3)\fP and may be NULL.
|
\fIcurl_formadd(3)\fP and may be NULL.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -32,4 +32,4 @@ curl_free reclaims memory that has been obtained through a libcurl call. Use
|
|||||||
curl_free() instead of free() to avoid anomalies that can result from
|
curl_free() instead of free() to avoid anomalies that can result from
|
||||||
differences in memory management between your application and libcurl.
|
differences in memory management between your application and libcurl.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.I curl_unescape(3)
|
.BR curl_unescape "(3)"
|
||||||
|
@@ -38,10 +38,10 @@ use \fIcurl_easy_perform(3)\fP on that handle. After having removed the handle
|
|||||||
from the multi stack again, it is perfectly fine to use it with the easy
|
from the multi stack again, it is perfectly fine to use it with the easy
|
||||||
interface again.
|
interface again.
|
||||||
|
|
||||||
If the easy handle is not set to use a shared (CURLOPT_SHARE) or global DNS
|
If the easy handle is not set to use a shared (\fICURLOPT_SHARE(3)\fP) or
|
||||||
cache (CURLOPT_DNS_USE_GLOBAL_CACHE), it will be made to use the DNS cache
|
global DNS cache (\fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP), it will be made to
|
||||||
that is shared between all easy handles within the multi handle when
|
use the DNS cache that is shared between all easy handles within the multi
|
||||||
\fIcurl_multi_add_handle(3)\fP is called.
|
handle when \fIcurl_multi_add_handle(3)\fP is called.
|
||||||
|
|
||||||
If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really
|
If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really
|
||||||
should if you're working event-based with \fIcurl_multi_socket_action(3)\fP
|
should if you're working event-based with \fIcurl_multi_socket_action(3)\fP
|
||||||
|
@@ -92,7 +92,7 @@ When the cache is full, curl closes the oldest one in the cache to prevent the
|
|||||||
number of open connections from increasing.
|
number of open connections from increasing.
|
||||||
|
|
||||||
This option is for the multi handle's use only, when using the easy interface
|
This option is for the multi handle's use only, when using the easy interface
|
||||||
you should instead use the \fICURLOPT_MAXCONNECTS\fP option.
|
you should instead use the \fICURLOPT_MAXCONNECTS(3)\fP option.
|
||||||
|
|
||||||
See \fICURLMOPT_MAX_TOTAL_CONNECTIONS\fP for limiting the number of active
|
See \fICURLMOPT_MAX_TOTAL_CONNECTIONS\fP for limiting the number of active
|
||||||
connections.
|
connections.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -33,9 +33,9 @@ share-functions, sometimes referred to as a share handle in some places in the
|
|||||||
documentation. This init call MUST have a corresponding call to
|
documentation. This init call MUST have a corresponding call to
|
||||||
\fIcurl_share_cleanup\fP when all operations using the share are complete.
|
\fIcurl_share_cleanup\fP when all operations using the share are complete.
|
||||||
|
|
||||||
This \fIshare handle\fP is what you pass to curl using the \fICURLOPT_SHARE\fP
|
This \fIshare handle\fP is what you pass to curl using the
|
||||||
option with \fIcurl_easy_setopt(3)\fP, to make that specific curl handle use
|
\fICURLOPT_SHARE(3)\fP option with \fIcurl_easy_setopt(3)\fP, to make that
|
||||||
the data in this share.
|
specific curl handle use the data in this share.
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
If this function returns NULL, something went wrong (out of memory, etc.)
|
If this function returns NULL, something went wrong (out of memory, etc.)
|
||||||
and therefore the share object was not created.
|
and therefore the share object was not created.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -38,11 +38,11 @@ converted to their plain text versions.
|
|||||||
If the 'length' argument is set to 0, curl_unescape() will use strlen() on the
|
If the 'length' argument is set to 0, curl_unescape() will use strlen() on the
|
||||||
input 'url' string to find out the size.
|
input 'url' string to find out the size.
|
||||||
|
|
||||||
You must curl_free() the returned string when you're done with it.
|
You must \fIcurl_free(3)\fP the returned string when you're done with it.
|
||||||
.SH AVAILABILITY
|
.SH AVAILABILITY
|
||||||
Since 7.15.4, \fIcurl_easy_unescape(3)\fP should be used. This function will
|
Since 7.15.4, \fIcurl_easy_unescape(3)\fP should be used. This function will
|
||||||
be removed in a future release.
|
be removed in a future release.
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
A pointer to a zero terminated string or NULL if it failed.
|
A pointer to a zero terminated string or NULL if it failed.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.I curl_easy_escape(3), curl_easy_unescape(3), curl_free(3), RFC 2396
|
.br curl_easy_escape "(3)," curl_easy_unescape "(3)," curl_free "(3)," RFC 2396
|
||||||
|
@@ -29,7 +29,7 @@ curl_version_info - returns run-time libcurl version info
|
|||||||
.BI "curl_version_info_data *curl_version_info( CURLversion "type ");"
|
.BI "curl_version_info_data *curl_version_info( CURLversion "type ");"
|
||||||
.ad
|
.ad
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Returns a pointer to a filled in struct with information about various
|
Returns a pointer to a filled in static struct with information about various
|
||||||
features in the running version of libcurl. \fItype\fP should be set to the
|
features in the running version of libcurl. \fItype\fP should be set to the
|
||||||
version of this functionality by the time you write your program. This way,
|
version of this functionality by the time you write your program. This way,
|
||||||
libcurl will always return a proper struct that your program understands,
|
libcurl will always return a proper struct that your program understands,
|
||||||
@@ -66,7 +66,8 @@ typedef struct {
|
|||||||
/* when 'age' is 2 or higher, the member below also exists: */
|
/* when 'age' is 2 or higher, the member below also exists: */
|
||||||
const char *libidn; /* human readable string */
|
const char *libidn; /* human readable string */
|
||||||
|
|
||||||
/* when 'age' is 3 or higher, the members below also exist: */
|
/* when 'age' is 3 or higher (7.16.1 or later), the members below also
|
||||||
|
exist */
|
||||||
int iconv_ver_num; /* '_libiconv_version' if iconv support enabled */
|
int iconv_ver_num; /* '_libiconv_version' if iconv support enabled */
|
||||||
|
|
||||||
const char *libssh_version; /* human readable string */
|
const char *libssh_version; /* human readable string */
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -28,11 +28,11 @@ This man page includes most, if not all, available error codes in libcurl.
|
|||||||
Why they occur and possibly what you can do to fix the problem are also included.
|
Why they occur and possibly what you can do to fix the problem are also included.
|
||||||
.SH "CURLcode"
|
.SH "CURLcode"
|
||||||
Almost all "easy" interface functions return a CURLcode error code. No matter
|
Almost all "easy" interface functions return a CURLcode error code. No matter
|
||||||
what, using the \fIcurl_easy_setopt(3)\fP option \fICURLOPT_ERRORBUFFER\fP is
|
what, using the \fIcurl_easy_setopt(3)\fP option \fICURLOPT_ERRORBUFFER(3)\fP
|
||||||
a good idea as it will give you a human readable error string that may offer
|
is a good idea as it will give you a human readable error string that may
|
||||||
more details about the cause of the error than just the error code.
|
offer more details about the cause of the error than just the error code.
|
||||||
\fIcurl_easy_strerror(3)\fP can be called to get an error string from a
|
\fIcurl_easy_strerror(3)\fP can be called to get an error string from a given
|
||||||
given CURLcode number.
|
CURLcode number.
|
||||||
|
|
||||||
CURLcode is one of the following:
|
CURLcode is one of the following:
|
||||||
.IP "CURLE_OK (0)"
|
.IP "CURLE_OK (0)"
|
||||||
@@ -74,7 +74,7 @@ After having sent the FTP password to the server, libcurl expects a proper
|
|||||||
reply. This error code indicates that an unexpected code was returned.
|
reply. This error code indicates that an unexpected code was returned.
|
||||||
.IP "CURLE_FTP_ACCEPT_TIMEOUT (12)"
|
.IP "CURLE_FTP_ACCEPT_TIMEOUT (12)"
|
||||||
During an active FTP session while waiting for the server to connect, the
|
During an active FTP session while waiting for the server to connect, the
|
||||||
\fICURLOPT_ACCEPTTIMOUT_MS\fP (or the internal default) timeout expired.
|
\fICURLOPT_ACCEPTTIMOUT_MS(3)\fP (or the internal default) timeout expired.
|
||||||
.IP "CURLE_FTP_WEIRD_PASV_REPLY (13)"
|
.IP "CURLE_FTP_WEIRD_PASV_REPLY (13)"
|
||||||
libcurl failed to get a sensible result back from the server as a response to
|
libcurl failed to get a sensible result back from the server as a response to
|
||||||
either a PASV or a EPSV command. The server is flawed.
|
either a PASV or a EPSV command. The server is flawed.
|
||||||
@@ -97,8 +97,8 @@ When sending custom "QUOTE" commands to the remote server, one of the commands
|
|||||||
returned an error code that was 400 or higher (for FTP) or otherwise
|
returned an error code that was 400 or higher (for FTP) or otherwise
|
||||||
indicated unsuccessful completion of the command.
|
indicated unsuccessful completion of the command.
|
||||||
.IP "CURLE_HTTP_RETURNED_ERROR (22)"
|
.IP "CURLE_HTTP_RETURNED_ERROR (22)"
|
||||||
This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server
|
This is returned if \fICURLOPT_FAILONERROR(3)\fP is set TRUE and the HTTP
|
||||||
returns an error code that is >= 400.
|
server returns an error code that is >= 400.
|
||||||
.IP "CURLE_WRITE_ERROR (23)"
|
.IP "CURLE_WRITE_ERROR (23)"
|
||||||
An error occurred when writing received data to a local file, or an error was
|
An error occurred when writing received data to a local file, or an error was
|
||||||
returned to libcurl from a write callback.
|
returned to libcurl from a write callback.
|
||||||
@@ -116,7 +116,8 @@ Operation timeout. The specified time-out period was reached according to the
|
|||||||
conditions.
|
conditions.
|
||||||
.IP "CURLE_FTP_PORT_FAILED (30)"
|
.IP "CURLE_FTP_PORT_FAILED (30)"
|
||||||
The FTP PORT command returned error. This mostly happens when you haven't
|
The FTP PORT command returned error. This mostly happens when you haven't
|
||||||
specified a good enough address for libcurl to use. See \fICURLOPT_FTPPORT\fP.
|
specified a good enough address for libcurl to use. See
|
||||||
|
\fICURLOPT_FTPPORT(3)\fP.
|
||||||
.IP "CURLE_FTP_COULDNT_USE_REST (31)"
|
.IP "CURLE_FTP_COULDNT_USE_REST (31)"
|
||||||
The FTP REST command returned error. This should never happen if the server is
|
The FTP REST command returned error. This should never happen if the server is
|
||||||
sane.
|
sane.
|
||||||
@@ -148,10 +149,10 @@ Internal error. A function was called with a bad parameter.
|
|||||||
.IP "CURLE_INTERFACE_FAILED (45)"
|
.IP "CURLE_INTERFACE_FAILED (45)"
|
||||||
Interface error. A specified outgoing interface could not be used. Set which
|
Interface error. A specified outgoing interface could not be used. Set which
|
||||||
interface to use for outgoing connections' source IP address with
|
interface to use for outgoing connections' source IP address with
|
||||||
CURLOPT_INTERFACE.
|
\fICURLOPT_INTERFACE(3)\fP.
|
||||||
.IP "CURLE_TOO_MANY_REDIRECTS (47)"
|
.IP "CURLE_TOO_MANY_REDIRECTS (47)"
|
||||||
Too many redirects. When following redirects, libcurl hit the maximum amount.
|
Too many redirects. When following redirects, libcurl hit the maximum amount.
|
||||||
Set your limit with CURLOPT_MAXREDIRS.
|
Set your limit with \fICURLOPT_MAXREDIRS(3)\fP.
|
||||||
.IP "CURLE_UNKNOWN_OPTION (48)"
|
.IP "CURLE_UNKNOWN_OPTION (48)"
|
||||||
An option passed to libcurl is not recognized/known. Refer to the appropriate
|
An option passed to libcurl is not recognized/known. Refer to the appropriate
|
||||||
documentation. This is most likely a problem in the program that uses
|
documentation. This is most likely a problem in the program that uses
|
||||||
@@ -229,7 +230,7 @@ Failed to load CRL file (Added in 7.19.0)
|
|||||||
Issuer check failed (Added in 7.19.0)
|
Issuer check failed (Added in 7.19.0)
|
||||||
.IP "CURLE_FTP_PRET_FAILED (84)"
|
.IP "CURLE_FTP_PRET_FAILED (84)"
|
||||||
The FTP server does not understand the PRET command at all or does not support
|
The FTP server does not understand the PRET command at all or does not support
|
||||||
the given argument. Be careful when using \fICURLOPT_CUSTOMREQUEST\fP, a
|
the given argument. Be careful when using \fICURLOPT_CUSTOMREQUEST(3)\fP, a
|
||||||
custom LIST command will be sent with PRET CMD before PASV as well. (Added in
|
custom LIST command will be sent with PRET CMD before PASV as well. (Added in
|
||||||
7.20.0)
|
7.20.0)
|
||||||
.IP "CURLE_RTSP_CSEQ_ERROR (85)"
|
.IP "CURLE_RTSP_CSEQ_ERROR (85)"
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -51,11 +51,12 @@ using this multi-threaded. You set lock and unlock functions with
|
|||||||
\fIcurl_share_setopt(3)\fP too.
|
\fIcurl_share_setopt(3)\fP too.
|
||||||
|
|
||||||
Then, you make an easy handle to use this share, you set the
|
Then, you make an easy handle to use this share, you set the
|
||||||
\fICURLOPT_SHARE\fP option with \fIcurl_easy_setopt(3)\fP, and pass in share
|
\fICURLOPT_SHARE(3)\fP option with \fIcurl_easy_setopt(3)\fP, and pass in
|
||||||
handle. You can make any number of easy handles share the same share handle.
|
share handle. You can make any number of easy handles share the same share
|
||||||
|
handle.
|
||||||
|
|
||||||
To make an easy handle stop using that particular share, you set
|
To make an easy handle stop using that particular share, you set
|
||||||
\fICURLOPT_SHARE\fP to NULL for that easy handle. To make a handle stop
|
\fICURLOPT_SHARE(3)\fP to NULL for that easy handle. To make a handle stop
|
||||||
sharing a particular data, you can \fICURLSHOPT_UNSHARE\fP it.
|
sharing a particular data, you can \fICURLSHOPT_UNSHARE\fP it.
|
||||||
|
|
||||||
When you're done using the share, make sure that no easy handle is still using
|
When you're done using the share, make sure that no easy handle is still using
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
.\" *
|
.\" *
|
||||||
.\" * This software is licensed as described in the file COPYING, which
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
.\" * you should have received as part of this distribution. The terms
|
.\" * you should have received as part of this distribution. The terms
|
||||||
@@ -170,8 +170,8 @@ terminated with a zero byte. When you set strings with
|
|||||||
\fIcurl_easy_setopt(3)\fP, libcurl makes its own copy so that they don't
|
\fIcurl_easy_setopt(3)\fP, libcurl makes its own copy so that they don't
|
||||||
need to be kept around in your application after being set[4].
|
need to be kept around in your application after being set[4].
|
||||||
|
|
||||||
One of the most basic properties to set in the handle is the URL. You set
|
One of the most basic properties to set in the handle is the URL. You set your
|
||||||
your preferred URL to transfer with CURLOPT_URL in a manner similar to:
|
preferred URL to transfer with \fICURLOPT_URL(3)\fP in a manner similar to:
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
curl_easy_setopt(handle, CURLOPT_URL, "http://domain.com/");
|
curl_easy_setopt(handle, CURLOPT_URL, "http://domain.com/");
|
||||||
@@ -197,27 +197,27 @@ by setting another property:
|
|||||||
|
|
||||||
Using that property, you can easily pass local data between your application
|
Using that property, you can easily pass local data between your application
|
||||||
and the function that gets invoked by libcurl. libcurl itself won't touch the
|
and the function that gets invoked by libcurl. libcurl itself won't touch the
|
||||||
data you pass with \fICURLOPT_WRITEDATA\fP.
|
data you pass with \fICURLOPT_WRITEDATA(3)\fP.
|
||||||
|
|
||||||
libcurl offers its own default internal callback that will take care of the data
|
libcurl offers its own default internal callback that will take care of the
|
||||||
if you don't set the callback with \fICURLOPT_WRITEFUNCTION\fP. It will then
|
data if you don't set the callback with \fICURLOPT_WRITEFUNCTION(3)\fP. It
|
||||||
simply output the received data to stdout. You can have the default callback
|
will then simply output the received data to stdout. You can have the default
|
||||||
write the data to a different file handle by passing a 'FILE *' to a file
|
callback write the data to a different file handle by passing a 'FILE *' to a
|
||||||
opened for writing with the \fICURLOPT_WRITEDATA\fP option.
|
file opened for writing with the \fICURLOPT_WRITEDATA(3)\fP option.
|
||||||
|
|
||||||
Now, we need to take a step back and have a deep breath. Here's one of those
|
Now, we need to take a step back and have a deep breath. Here's one of those
|
||||||
rare platform-dependent nitpicks. Did you spot it? On some platforms[2],
|
rare platform-dependent nitpicks. Did you spot it? On some platforms[2],
|
||||||
libcurl won't be able to operate on files opened by the program. Thus, if you
|
libcurl won't be able to operate on files opened by the program. Thus, if you
|
||||||
use the default callback and pass in an open file with
|
use the default callback and pass in an open file with
|
||||||
\fICURLOPT_WRITEDATA\fP, it will crash. You should therefore avoid this to
|
\fICURLOPT_WRITEDATA(3)\fP, it will crash. You should therefore avoid this to
|
||||||
make your program run fine virtually everywhere.
|
make your program run fine virtually everywhere.
|
||||||
|
|
||||||
(\fICURLOPT_WRITEDATA\fP was formerly known as \fICURLOPT_FILE\fP. Both names
|
(\fICURLOPT_WRITEDATA(3)\fP was formerly known as \fICURLOPT_FILE\fP. Both
|
||||||
still work and do the same thing).
|
names still work and do the same thing).
|
||||||
|
|
||||||
If you're using libcurl as a win32 DLL, you MUST use the
|
If you're using libcurl as a win32 DLL, you MUST use the
|
||||||
\fICURLOPT_WRITEFUNCTION\fP if you set \fICURLOPT_WRITEDATA\fP - or you will
|
\fICURLOPT_WRITEFUNCTION(3)\fP if you set \fICURLOPT_WRITEDATA(3)\fP - or you
|
||||||
experience crashes.
|
will experience crashes.
|
||||||
|
|
||||||
There are of course many more options you can set, and we'll get back to a few
|
There are of course many more options you can set, and we'll get back to a few
|
||||||
of them later. Let's instead continue to the actual transfer:
|
of them later. Let's instead continue to the actual transfer:
|
||||||
@@ -234,8 +234,8 @@ passed to it, libcurl will abort the operation and return with an error code.
|
|||||||
|
|
||||||
When the transfer is complete, the function returns a return code that informs
|
When the transfer is complete, the function returns a return code that informs
|
||||||
you if it succeeded in its mission or not. If a return code isn't enough for
|
you if it succeeded in its mission or not. If a return code isn't enough for
|
||||||
you, you can use the CURLOPT_ERRORBUFFER to point libcurl to a buffer of yours
|
you, you can use the \fICURLOPT_ERRORBUFFER(3)\fP to point libcurl to a buffer
|
||||||
where it'll store a human readable error message as well.
|
of yours where it'll store a human readable error message as well.
|
||||||
|
|
||||||
If you then want to transfer another file, the handle is ready to be used
|
If you then want to transfer another file, the handle is ready to be used
|
||||||
again. Mind you, it is even preferred that you re-use an existing handle if
|
again. Mind you, it is even preferred that you re-use an existing handle if
|
||||||
@@ -293,14 +293,14 @@ Secure Transport
|
|||||||
|
|
||||||
The engine is fully thread-safe, and no additional steps are required.
|
The engine is fully thread-safe, and no additional steps are required.
|
||||||
|
|
||||||
When using multiple threads you should set the CURLOPT_NOSIGNAL option to 1
|
When using multiple threads you should set the \fICURLOPT_NOSIGNAL(3)\fP
|
||||||
for all handles. Everything will or might work fine except that timeouts are
|
option to 1 for all handles. Everything will or might work fine except that
|
||||||
not honored during the DNS lookup - which you can work around by building
|
timeouts are not honored during the DNS lookup - which you can work around by
|
||||||
libcurl with c-ares support. c-ares is a library that provides asynchronous
|
building libcurl with c-ares support. c-ares is a library that provides
|
||||||
name resolves. On some platforms, libcurl simply will not function properly
|
asynchronous name resolves. On some platforms, libcurl simply will not
|
||||||
multi-threaded unless this option is set.
|
function properly multi-threaded unless this option is set.
|
||||||
|
|
||||||
Also, note that CURLOPT_DNS_USE_GLOBAL_CACHE is not thread-safe.
|
Also, note that \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP is not thread-safe.
|
||||||
|
|
||||||
.SH "When It Doesn't Work"
|
.SH "When It Doesn't Work"
|
||||||
There will always be times when the transfer fails for some reason. You might
|
There will always be times when the transfer fails for some reason. You might
|
||||||
@@ -308,23 +308,23 @@ have set the wrong libcurl option or misunderstood what the libcurl option
|
|||||||
actually does, or the remote server might return non-standard replies that
|
actually does, or the remote server might return non-standard replies that
|
||||||
confuse the library which then confuses your program.
|
confuse the library which then confuses your program.
|
||||||
|
|
||||||
There's one golden rule when these things occur: set the CURLOPT_VERBOSE
|
There's one golden rule when these things occur: set the
|
||||||
option to 1. It'll cause the library to spew out the entire protocol
|
\fICURLOPT_VERBOSE(3)\fP option to 1. It'll cause the library to spew out the
|
||||||
details it sends, some internal info and some received protocol data as well
|
entire protocol details it sends, some internal info and some received
|
||||||
(especially when using FTP). If you're using HTTP, adding the headers in the
|
protocol data as well (especially when using FTP). If you're using HTTP,
|
||||||
received output to study is also a clever way to get a better understanding
|
adding the headers in the received output to study is also a clever way to get
|
||||||
why the server behaves the way it does. Include headers in the normal body
|
a better understanding why the server behaves the way it does. Include headers
|
||||||
output with CURLOPT_HEADER set 1.
|
in the normal body output with \fICURLOPT_HEADER(3)\fP set 1.
|
||||||
|
|
||||||
Of course, there are bugs left. We need to know about them to be able
|
Of course, there are bugs left. We need to know about them to be able to fix
|
||||||
to fix them, so we're quite dependent on your bug reports! When you do report
|
them, so we're quite dependent on your bug reports! When you do report
|
||||||
suspected bugs in libcurl, please include as many details as you possibly can: a
|
suspected bugs in libcurl, please include as many details as you possibly can:
|
||||||
protocol dump that CURLOPT_VERBOSE produces, library version, as much as
|
a protocol dump that \fICURLOPT_VERBOSE(3)\fP produces, library version, as
|
||||||
possible of your code that uses libcurl, operating system name and version,
|
much as possible of your code that uses libcurl, operating system name and
|
||||||
compiler name and version etc.
|
version, compiler name and version etc.
|
||||||
|
|
||||||
If CURLOPT_VERBOSE is not enough, you increase the level of debug data your
|
If \fICURLOPT_VERBOSE(3)\fP is not enough, you increase the level of debug
|
||||||
application receive by using the CURLOPT_DEBUGFUNCTION.
|
data your application receive by using the \fICURLOPT_DEBUGFUNCTION(3)\fP.
|
||||||
|
|
||||||
Getting some in-depth knowledge about the protocols involved is never wrong,
|
Getting some in-depth knowledge about the protocols involved is never wrong,
|
||||||
and if you're trying to do funny things, you might very well understand
|
and if you're trying to do funny things, you might very well understand
|
||||||
@@ -363,7 +363,7 @@ Tell libcurl that we want to upload:
|
|||||||
|
|
||||||
A few protocols won't behave properly when uploads are done without any prior
|
A few protocols won't behave properly when uploads are done without any prior
|
||||||
knowledge of the expected file size. So, set the upload file size using the
|
knowledge of the expected file size. So, set the upload file size using the
|
||||||
CURLOPT_INFILESIZE_LARGE for all known file sizes like this[1]:
|
\fICURLOPT_INFILESIZE_LARGE(3)\fP for all known file sizes like this[1]:
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
/* in this example, file_size must be an curl_off_t variable */
|
/* in this example, file_size must be an curl_off_t variable */
|
||||||
@@ -393,15 +393,15 @@ them URL encoded, as %XX where XX is a two-digit hexadecimal number.
|
|||||||
|
|
||||||
libcurl also provides options to set various passwords. The user name and
|
libcurl also provides options to set various passwords. The user name and
|
||||||
password as shown embedded in the URL can instead get set with the
|
password as shown embedded in the URL can instead get set with the
|
||||||
CURLOPT_USERPWD option. The argument passed to libcurl should be a char * to
|
\fICURLOPT_USERPWD(3)\fP option. The argument passed to libcurl should be a
|
||||||
a string in the format "user:password". In a manner like this:
|
char * to a string in the format "user:password". In a manner like this:
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_USERPWD, "myname:thesecret");
|
curl_easy_setopt(easyhandle, CURLOPT_USERPWD, "myname:thesecret");
|
||||||
|
|
||||||
Another case where name and password might be needed at times, is for those
|
Another case where name and password might be needed at times, is for those
|
||||||
users who need to authenticate themselves to a proxy they use. libcurl offers
|
users who need to authenticate themselves to a proxy they use. libcurl offers
|
||||||
another option for this, the CURLOPT_PROXYUSERPWD. It is used quite similar
|
another option for this, the \fICURLOPT_PROXYUSERPWD(3)\fP. It is used quite
|
||||||
to the CURLOPT_USERPWD option like this:
|
similar to the \fICURLOPT_USERPWD(3)\fP option like this:
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "myname:thesecret");
|
curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "myname:thesecret");
|
||||||
|
|
||||||
@@ -412,7 +412,7 @@ chapter), as it might contain the password in plain text. libcurl has the
|
|||||||
ability to use this file to figure out what set of user name and password to
|
ability to use this file to figure out what set of user name and password to
|
||||||
use for a particular host. As an extension to the normal functionality,
|
use for a particular host. As an extension to the normal functionality,
|
||||||
libcurl also supports this file for non-FTP protocols such as HTTP. To make
|
libcurl also supports this file for non-FTP protocols such as HTTP. To make
|
||||||
curl use this file, use the CURLOPT_NETRC option:
|
curl use this file, use the \fICURLOPT_NETRC(3)\fP option:
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_NETRC, 1L);
|
curl_easy_setopt(easyhandle, CURLOPT_NETRC, 1L);
|
||||||
|
|
||||||
@@ -443,12 +443,12 @@ password in clear-text in the HTTP request, base64-encoded. This is insecure.
|
|||||||
|
|
||||||
At the time of this writing, libcurl can be built to use: Basic, Digest, NTLM,
|
At the time of this writing, libcurl can be built to use: Basic, Digest, NTLM,
|
||||||
Negotiate, GSS-Negotiate and SPNEGO. You can tell libcurl which one to use
|
Negotiate, GSS-Negotiate and SPNEGO. You can tell libcurl which one to use
|
||||||
with CURLOPT_HTTPAUTH as in:
|
with \fICURLOPT_HTTPAUTH(3)\fP as in:
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
|
curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
|
||||||
|
|
||||||
And when you send authentication to a proxy, you can also set authentication
|
And when you send authentication to a proxy, you can also set authentication
|
||||||
type the same way but instead with CURLOPT_PROXYAUTH:
|
type the same way but instead with \fICURLOPT_PROXYAUTH(3)\fP:
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
|
curl_easy_setopt(easyhandle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
|
||||||
|
|
||||||
@@ -484,8 +484,8 @@ libcurl to post it all to the remote site:
|
|||||||
.fi
|
.fi
|
||||||
|
|
||||||
Simple enough, huh? Since you set the POST options with the
|
Simple enough, huh? Since you set the POST options with the
|
||||||
CURLOPT_POSTFIELDS, this automatically switches the handle to use POST in the
|
\fICURLOPT_POSTFIELDS(3)\fP, this automatically switches the handle to use
|
||||||
upcoming request.
|
POST in the upcoming request.
|
||||||
|
|
||||||
Ok, so what if you want to post binary data that also requires you to set the
|
Ok, so what if you want to post binary data that also requires you to set the
|
||||||
Content-Type: header of the post? Well, binary posts prevent libcurl from
|
Content-Type: header of the post? Well, binary posts prevent libcurl from
|
||||||
@@ -576,14 +576,14 @@ post handle:
|
|||||||
|
|
||||||
Since all options on an easyhandle are "sticky", they remain the same until
|
Since all options on an easyhandle are "sticky", they remain the same until
|
||||||
changed even if you do call \fIcurl_easy_perform(3)\fP, you may need to tell
|
changed even if you do call \fIcurl_easy_perform(3)\fP, you may need to tell
|
||||||
curl to go back to a plain GET request if you intend to do one as your
|
curl to go back to a plain GET request if you intend to do one as your next
|
||||||
next request. You force an easyhandle to go back to GET by using the
|
request. You force an easyhandle to go back to GET by using the
|
||||||
CURLOPT_HTTPGET option:
|
\fICURLOPT_HTTPGET(3)\fP option:
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_HTTPGET, 1L);
|
curl_easy_setopt(easyhandle, CURLOPT_HTTPGET, 1L);
|
||||||
|
|
||||||
Just setting CURLOPT_POSTFIELDS to "" or NULL will *not* stop libcurl from
|
Just setting \fICURLOPT_POSTFIELDS(3)\fP to "" or NULL will *not* stop libcurl
|
||||||
doing a POST. It will just make it POST without any data to send!
|
from doing a POST. It will just make it POST without any data to send!
|
||||||
|
|
||||||
.SH "Showing Progress"
|
.SH "Showing Progress"
|
||||||
|
|
||||||
@@ -591,16 +591,16 @@ For historical and traditional reasons, libcurl has a built-in progress meter
|
|||||||
that can be switched on and then makes it present a progress meter in your
|
that can be switched on and then makes it present a progress meter in your
|
||||||
terminal.
|
terminal.
|
||||||
|
|
||||||
Switch on the progress meter by, oddly enough, setting CURLOPT_NOPROGRESS to
|
Switch on the progress meter by, oddly enough, setting
|
||||||
zero. This option is set to 1 by default.
|
\fICURLOPT_NOPROGRESS(3)\fP to zero. This option is set to 1 by default.
|
||||||
|
|
||||||
For most applications however, the built-in progress meter is useless and
|
For most applications however, the built-in progress meter is useless and
|
||||||
what instead is interesting is the ability to specify a progress
|
what instead is interesting is the ability to specify a progress
|
||||||
callback. The function pointer you pass to libcurl will then be called on
|
callback. The function pointer you pass to libcurl will then be called on
|
||||||
irregular intervals with information about the current transfer.
|
irregular intervals with information about the current transfer.
|
||||||
|
|
||||||
Set the progress callback by using CURLOPT_PROGRESSFUNCTION. And pass a
|
Set the progress callback by using \fICURLOPT_PROGRESSFUNCTION(3)\fP. And pass
|
||||||
pointer to a function that matches this prototype:
|
a pointer to a function that matches this prototype:
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
int progress_callback(void *clientp,
|
int progress_callback(void *clientp,
|
||||||
@@ -612,7 +612,7 @@ pointer to a function that matches this prototype:
|
|||||||
|
|
||||||
If any of the input arguments is unknown, a 0 will be passed. The first
|
If any of the input arguments is unknown, a 0 will be passed. The first
|
||||||
argument, the 'clientp' is the pointer you pass to libcurl with
|
argument, the 'clientp' is the pointer you pass to libcurl with
|
||||||
CURLOPT_PROGRESSDATA. libcurl won't touch it.
|
\fICURLOPT_PROGRESSDATA(3)\fP. libcurl won't touch it.
|
||||||
|
|
||||||
.SH "libcurl with C++"
|
.SH "libcurl with C++"
|
||||||
|
|
||||||
@@ -671,11 +671,12 @@ pass that information similar to this:
|
|||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "user:password");
|
curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "user:password");
|
||||||
|
|
||||||
If you want to, you can specify the host name only in the CURLOPT_PROXY
|
If you want to, you can specify the host name only in the
|
||||||
option, and set the port number separately with CURLOPT_PROXYPORT.
|
\fICURLOPT_PROXY(3)\fP option, and set the port number separately with
|
||||||
|
\fICURLOPT_PROXYPORT(3)\fP.
|
||||||
|
|
||||||
Tell libcurl what kind of proxy it is with CURLOPT_PROXYTYPE (if not, it will
|
Tell libcurl what kind of proxy it is with \fICURLOPT_PROXYTYPE(3)\fP (if not,
|
||||||
default to assume a HTTP proxy):
|
it will default to assume a HTTP proxy):
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
|
curl_easy_setopt(easyhandle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
|
||||||
|
|
||||||
@@ -704,7 +705,8 @@ variable may say so. If 'no_proxy' is a plain asterisk ("*") it matches all
|
|||||||
hosts.
|
hosts.
|
||||||
|
|
||||||
To explicitly disable libcurl's checking for and using the proxy environment
|
To explicitly disable libcurl's checking for and using the proxy environment
|
||||||
variables, set the proxy name to "" - an empty string - with CURLOPT_PROXY.
|
variables, set the proxy name to "" - an empty string - with
|
||||||
|
\fICURLOPT_PROXY(3)\fP.
|
||||||
.IP "SSL and Proxies"
|
.IP "SSL and Proxies"
|
||||||
|
|
||||||
SSL is for secure point-to-point connections. This involves strong encryption
|
SSL is for secure point-to-point connections. This involves strong encryption
|
||||||
@@ -800,21 +802,21 @@ may also be added in the future.
|
|||||||
|
|
||||||
Each easy handle will attempt to keep the last few connections alive for a
|
Each easy handle will attempt to keep the last few connections alive for a
|
||||||
while in case they are to be used again. You can set the size of this "cache"
|
while in case they are to be used again. You can set the size of this "cache"
|
||||||
with the CURLOPT_MAXCONNECTS option. Default is 5. There is very seldom any
|
with the \fICURLOPT_MAXCONNECTS(3)\fP option. Default is 5. There is very
|
||||||
point in changing this value, and if you think of changing this it is often
|
seldom any point in changing this value, and if you think of changing this it
|
||||||
just a matter of thinking again.
|
is often just a matter of thinking again.
|
||||||
|
|
||||||
To force your upcoming request to not use an already existing connection (it
|
To force your upcoming request to not use an already existing connection (it
|
||||||
will even close one first if there happens to be one alive to the same host
|
will even close one first if there happens to be one alive to the same host
|
||||||
you're about to operate on), you can do that by setting CURLOPT_FRESH_CONNECT
|
you're about to operate on), you can do that by setting
|
||||||
to 1. In a similar spirit, you can also forbid the upcoming request to be
|
\fICURLOPT_FRESH_CONNECT(3)\fP to 1. In a similar spirit, you can also forbid
|
||||||
"lying" around and possibly get re-used after the request by setting
|
the upcoming request to be "lying" around and possibly get re-used after the
|
||||||
CURLOPT_FORBID_REUSE to 1.
|
request by setting \fICURLOPT_FORBID_REUSE(3)\fP to 1.
|
||||||
|
|
||||||
.SH "HTTP Headers Used by libcurl"
|
.SH "HTTP Headers Used by libcurl"
|
||||||
When you use libcurl to do HTTP requests, it'll pass along a series of headers
|
When you use libcurl to do HTTP requests, it'll pass along a series of headers
|
||||||
automatically. It might be good for you to know and understand these. You
|
automatically. It might be good for you to know and understand these. You
|
||||||
can replace or remove them by using the CURLOPT_HTTPHEADER option.
|
can replace or remove them by using the \fICURLOPT_HTTPHEADER(3)\fP option.
|
||||||
|
|
||||||
.IP "Host"
|
.IP "Host"
|
||||||
This header is required by HTTP 1.1 and even many 1.0 servers and should be
|
This header is required by HTTP 1.1 and even many 1.0 servers and should be
|
||||||
@@ -843,8 +845,8 @@ libcurl is your friend here too.
|
|||||||
|
|
||||||
.IP CUSTOMREQUEST
|
.IP CUSTOMREQUEST
|
||||||
If just changing the actual HTTP request keyword is what you want, like when
|
If just changing the actual HTTP request keyword is what you want, like when
|
||||||
GET, HEAD or POST is not good enough for you, CURLOPT_CUSTOMREQUEST is there
|
GET, HEAD or POST is not good enough for you, \fICURLOPT_CUSTOMREQUEST(3)\fP
|
||||||
for you. It is very simple to use:
|
is there for you. It is very simple to use:
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_CUSTOMREQUEST, "MYOWNREQUEST");
|
curl_easy_setopt(easyhandle, CURLOPT_CUSTOMREQUEST, "MYOWNREQUEST");
|
||||||
|
|
||||||
@@ -939,28 +941,29 @@ A little example that deletes a given file before an operation:
|
|||||||
|
|
||||||
If you would instead want this operation (or chain of operations) to happen
|
If you would instead want this operation (or chain of operations) to happen
|
||||||
_after_ the data transfer took place the option to \fIcurl_easy_setopt(3)\fP
|
_after_ the data transfer took place the option to \fIcurl_easy_setopt(3)\fP
|
||||||
would instead be called CURLOPT_POSTQUOTE and used the exact same way.
|
would instead be called \fICURLOPT_POSTQUOTE(3)\fP and used the exact same
|
||||||
|
way.
|
||||||
|
|
||||||
The custom FTP command will be issued to the server in the same order they are
|
The custom FTP command will be issued to the server in the same order they are
|
||||||
added to the list, and if a command gets an error code returned back from the
|
added to the list, and if a command gets an error code returned back from the
|
||||||
server, no more commands will be issued and libcurl will bail out with an
|
server, no more commands will be issued and libcurl will bail out with an
|
||||||
error code (CURLE_QUOTE_ERROR). Note that if you use CURLOPT_QUOTE to send
|
error code (CURLE_QUOTE_ERROR). Note that if you use \fICURLOPT_QUOTE(3)\fP to
|
||||||
commands before a transfer, no transfer will actually take place when a quote
|
send commands before a transfer, no transfer will actually take place when a
|
||||||
command has failed.
|
quote command has failed.
|
||||||
|
|
||||||
If you set the CURLOPT_HEADER to 1, you will tell libcurl to get
|
If you set the \fICURLOPT_HEADER(3)\fP to 1, you will tell libcurl to get
|
||||||
information about the target file and output "headers" about it. The headers
|
information about the target file and output "headers" about it. The headers
|
||||||
will be in "HTTP-style", looking like they do in HTTP.
|
will be in "HTTP-style", looking like they do in HTTP.
|
||||||
|
|
||||||
The option to enable headers or to run custom FTP commands may be useful to
|
The option to enable headers or to run custom FTP commands may be useful to
|
||||||
combine with CURLOPT_NOBODY. If this option is set, no actual file content
|
combine with \fICURLOPT_NOBODY(3)\fP. If this option is set, no actual file
|
||||||
transfer will be performed.
|
content transfer will be performed.
|
||||||
|
|
||||||
.IP "FTP Custom CUSTOMREQUEST"
|
.IP "FTP Custom CUSTOMREQUEST"
|
||||||
If you do want to list the contents of a FTP directory using your own defined FTP
|
If you do want to list the contents of a FTP directory using your own defined
|
||||||
command, CURLOPT_CUSTOMREQUEST will do just that. "NLST" is the default one
|
FTP command, \fICURLOPT_CUSTOMREQUEST(3)\fP will do just that. "NLST" is the
|
||||||
for listing directories but you're free to pass in your idea of a good
|
default one for listing directories but you're free to pass in your idea of a
|
||||||
alternative.
|
good alternative.
|
||||||
|
|
||||||
.SH "Cookies Without Chocolate Chips"
|
.SH "Cookies Without Chocolate Chips"
|
||||||
In the HTTP sense, a cookie is a name with an associated value. A server sends
|
In the HTTP sense, a cookie is a name with an associated value. A server sends
|
||||||
@@ -975,8 +978,8 @@ update them. Server use cookies to "track" users and to keep "sessions".
|
|||||||
Cookies are sent from server to clients with the header Set-Cookie: and
|
Cookies are sent from server to clients with the header Set-Cookie: and
|
||||||
they're sent from clients to servers with the Cookie: header.
|
they're sent from clients to servers with the Cookie: header.
|
||||||
|
|
||||||
To just send whatever cookie you want to a server, you can use CURLOPT_COOKIE
|
To just send whatever cookie you want to a server, you can use
|
||||||
to set a cookie string like this:
|
\fICURLOPT_COOKIE(3)\fP to set a cookie string like this:
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_COOKIE, "name1=var1; name2=var2;");
|
curl_easy_setopt(easyhandle, CURLOPT_COOKIE, "name1=var1; name2=var2;");
|
||||||
|
|
||||||
@@ -987,29 +990,30 @@ are then used accordingly on later requests.
|
|||||||
One way to do this, is to save all headers you receive in a plain file and
|
One way to do this, is to save all headers you receive in a plain file and
|
||||||
when you make a request, you tell libcurl to read the previous headers to
|
when you make a request, you tell libcurl to read the previous headers to
|
||||||
figure out which cookies to use. Set the header file to read cookies from with
|
figure out which cookies to use. Set the header file to read cookies from with
|
||||||
CURLOPT_COOKIEFILE.
|
\fICURLOPT_COOKIEFILE(3)\fP.
|
||||||
|
|
||||||
The CURLOPT_COOKIEFILE option also automatically enables the cookie parser in
|
The \fICURLOPT_COOKIEFILE(3)\fP option also automatically enables the cookie
|
||||||
libcurl. Until the cookie parser is enabled, libcurl will not parse or
|
parser in libcurl. Until the cookie parser is enabled, libcurl will not parse
|
||||||
understand incoming cookies and they will just be ignored. However, when the
|
or understand incoming cookies and they will just be ignored. However, when
|
||||||
parser is enabled the cookies will be understood and the cookies will be kept
|
the parser is enabled the cookies will be understood and the cookies will be
|
||||||
in memory and used properly in subsequent requests when the same handle is
|
kept in memory and used properly in subsequent requests when the same handle
|
||||||
used. Many times this is enough, and you may not have to save the cookies to
|
is used. Many times this is enough, and you may not have to save the cookies
|
||||||
disk at all. Note that the file you specify to CURLOPT_COOKIEFILE doesn't have
|
to disk at all. Note that the file you specify to \ICURLOPT_COOKIEFILE(3)\fP
|
||||||
to exist to enable the parser, so a common way to just enable the parser and
|
doesn't have to exist to enable the parser, so a common way to just enable the
|
||||||
not read any cookies is to use the name of a file you know doesn't exist.
|
parser and not read any cookies is to use the name of a file you know doesn't
|
||||||
|
exist.
|
||||||
|
|
||||||
If you would rather use existing cookies that you've previously received with
|
If you would rather use existing cookies that you've previously received with
|
||||||
your Netscape or Mozilla browsers, you can make libcurl use that cookie file
|
your Netscape or Mozilla browsers, you can make libcurl use that cookie file
|
||||||
as input. The CURLOPT_COOKIEFILE is used for that too, as libcurl will
|
as input. The \fICURLOPT_COOKIEFILE(3)\fP is used for that too, as libcurl
|
||||||
automatically find out what kind of file it is and act accordingly.
|
will automatically find out what kind of file it is and act accordingly.
|
||||||
|
|
||||||
Perhaps the most advanced cookie operation libcurl offers, is saving the
|
Perhaps the most advanced cookie operation libcurl offers, is saving the
|
||||||
entire internal cookie state back into a Netscape/Mozilla formatted cookie
|
entire internal cookie state back into a Netscape/Mozilla formatted cookie
|
||||||
file. We call that the cookie-jar. When you set a file name with
|
file. We call that the cookie-jar. When you set a file name with
|
||||||
CURLOPT_COOKIEJAR, that file name will be created and all received cookies
|
\fICURLOPT_COOKIEJAR(3)\fP, that file name will be created and all received
|
||||||
will be stored in it when \fIcurl_easy_cleanup(3)\fP is called. This enables
|
cookies will be stored in it when \fIcurl_easy_cleanup(3)\fP is called. This
|
||||||
cookies to get passed on properly between multiple handles without any
|
enables cookies to get passed on properly between multiple handles without any
|
||||||
information getting lost.
|
information getting lost.
|
||||||
|
|
||||||
.SH "FTP Peculiarities We Need"
|
.SH "FTP Peculiarities We Need"
|
||||||
@@ -1028,36 +1032,36 @@ work it tries PASV instead. (EPSV is an extension to the original FTP spec
|
|||||||
and does not exist nor work on all FTP servers.)
|
and does not exist nor work on all FTP servers.)
|
||||||
|
|
||||||
You can prevent libcurl from first trying the EPSV command by setting
|
You can prevent libcurl from first trying the EPSV command by setting
|
||||||
CURLOPT_FTP_USE_EPSV to zero.
|
\fICURLOPT_FTP_USE_EPSV(3)\fP to zero.
|
||||||
|
|
||||||
In some cases, you will prefer to have the server connect back to you for the
|
In some cases, you will prefer to have the server connect back to you for the
|
||||||
second connection. This might be when the server is perhaps behind a firewall
|
second connection. This might be when the server is perhaps behind a firewall
|
||||||
or something and only allows connections on a single port. libcurl then
|
or something and only allows connections on a single port. libcurl then
|
||||||
informs the remote server which IP address and port number to connect to.
|
informs the remote server which IP address and port number to connect to.
|
||||||
This is made with the CURLOPT_FTPPORT option. If you set it to "-", libcurl
|
This is made with the \fICURLOPT_FTPPORT(3)\fP option. If you set it to "-",
|
||||||
will use your system's "default IP address". If you want to use a particular
|
libcurl will use your system's "default IP address". If you want to use a
|
||||||
IP, you can set the full IP address, a host name to resolve to an IP address
|
particular IP, you can set the full IP address, a host name to resolve to an
|
||||||
or even a local network interface name that libcurl will get the IP address
|
IP address or even a local network interface name that libcurl will get the IP
|
||||||
from.
|
address from.
|
||||||
|
|
||||||
When doing the "PORT" approach, libcurl will attempt to use the EPRT and the
|
When doing the "PORT" approach, libcurl will attempt to use the EPRT and the
|
||||||
LPRT before trying PORT, as they work with more protocols. You can disable
|
LPRT before trying PORT, as they work with more protocols. You can disable
|
||||||
this behavior by setting CURLOPT_FTP_USE_EPRT to zero.
|
this behavior by setting \fICURLOPT_FTP_USE_EPRT(3)\fP to zero.
|
||||||
|
|
||||||
.SH "Headers Equal Fun"
|
.SH "Headers Equal Fun"
|
||||||
|
|
||||||
Some protocols provide "headers", meta-data separated from the normal
|
Some protocols provide "headers", meta-data separated from the normal
|
||||||
data. These headers are by default not included in the normal data stream,
|
data. These headers are by default not included in the normal data stream, but
|
||||||
but you can make them appear in the data stream by setting CURLOPT_HEADER to
|
you can make them appear in the data stream by setting \fICURLOPT_HEADER(3)\fP
|
||||||
1.
|
to 1.
|
||||||
|
|
||||||
What might be even more useful, is libcurl's ability to separate the headers
|
What might be even more useful, is libcurl's ability to separate the headers
|
||||||
from the data and thus make the callbacks differ. You can for example set a
|
from the data and thus make the callbacks differ. You can for example set a
|
||||||
different pointer to pass to the ordinary write callback by setting
|
different pointer to pass to the ordinary write callback by setting
|
||||||
CURLOPT_WRITEHEADER.
|
\fICURLOPT_HEADERDATA(3)\fP.
|
||||||
|
|
||||||
Or, you can set an entirely separate function to receive the headers, by
|
Or, you can set an entirely separate function to receive the headers, by using
|
||||||
using CURLOPT_HEADERFUNCTION.
|
\fICURLOPT_HEADERFUNCTION(3)\fP.
|
||||||
|
|
||||||
The headers are passed to the callback function one by one, and you can
|
The headers are passed to the callback function one by one, and you can
|
||||||
depend on that fact. It makes it easier for you to add custom header parsers
|
depend on that fact. It makes it easier for you to add custom header parsers
|
||||||
@@ -1123,13 +1127,13 @@ don't let snoopers see your password: HTTP with Digest, NTLM or GSS
|
|||||||
authentication, HTTPS, FTPS, SCP, SFTP and FTP-Kerberos are a few examples.
|
authentication, HTTPS, FTPS, SCP, SFTP and FTP-Kerberos are a few examples.
|
||||||
|
|
||||||
.IP "Redirects"
|
.IP "Redirects"
|
||||||
The CURLOPT_FOLLOWLOCATION option automatically follows HTTP redirects sent
|
The \fICURLOPT_FOLLOWLOCATION(3)\fP option automatically follows HTTP
|
||||||
by a remote server. These redirects can refer to any kind of URL, not just
|
redirects sent by a remote server. These redirects can refer to any kind of
|
||||||
HTTP. A redirect to a file: URL would cause the libcurl to read (or write)
|
URL, not just HTTP. A redirect to a file: URL would cause the libcurl to read
|
||||||
arbitrary files from the local filesystem. If the application returns
|
(or write) arbitrary files from the local filesystem. If the application
|
||||||
the data back to the user (as would happen in some kinds of CGI scripts),
|
returns the data back to the user (as would happen in some kinds of CGI
|
||||||
an attacker could leverage this to read otherwise forbidden data (e.g.
|
scripts), an attacker could leverage this to read otherwise forbidden data
|
||||||
file://localhost/etc/passwd).
|
(e.g. file://localhost/etc/passwd).
|
||||||
|
|
||||||
If authentication credentials are stored in the ~/.netrc file, or Kerberos
|
If authentication credentials are stored in the ~/.netrc file, or Kerberos
|
||||||
is in use, any other URL type (not just file:) that requires
|
is in use, any other URL type (not just file:) that requires
|
||||||
@@ -1142,19 +1146,20 @@ the user running the libcurl application, SCP: or SFTP: URLs could access
|
|||||||
password or private-key protected resources,
|
password or private-key protected resources,
|
||||||
e.g. sftp://user@some-internal-server/etc/passwd
|
e.g. sftp://user@some-internal-server/etc/passwd
|
||||||
|
|
||||||
The CURLOPT_REDIR_PROTOCOLS and CURLOPT_NETRC options can be used to
|
The \fICURLOPT_REDIR_PROTOCOLS(3)\fP and \fICURLOPT_NETRC(3)\fP options can be
|
||||||
mitigate against this kind of attack.
|
used to mitigate against this kind of attack.
|
||||||
|
|
||||||
A redirect can also specify a location available only on the machine running
|
A redirect can also specify a location available only on the machine running
|
||||||
libcurl, including servers hidden behind a firewall from the attacker.
|
libcurl, including servers hidden behind a firewall from the attacker.
|
||||||
e.g. http://127.0.0.1/ or http://intranet/delete-stuff.cgi?delete=all or
|
e.g. http://127.0.0.1/ or http://intranet/delete-stuff.cgi?delete=all or
|
||||||
tftp://bootp-server/pc-config-data
|
tftp://bootp-server/pc-config-data
|
||||||
|
|
||||||
Apps can mitigate against this by disabling CURLOPT_FOLLOWLOCATION and
|
Apps can mitigate against this by disabling \fICURLOPT_FOLLOWLOCATION(3)\fP
|
||||||
handling redirects itself, sanitizing URLs as necessary. Alternately, an
|
and handling redirects itself, sanitizing URLs as necessary. Alternately, an
|
||||||
app could leave CURLOPT_FOLLOWLOCATION enabled but set CURLOPT_REDIR_PROTOCOLS
|
app could leave \fICURLOPT_FOLLOWLOCATION(3)\fP enabled but set
|
||||||
and install a CURLOPT_OPENSOCKETFUNCTION callback function in which addresses
|
\fICURLOPT_REDIR_PROTOCOLS(3)\fP and install a
|
||||||
are sanitized before use.
|
\fICURLOPT_OPENSOCKETFUNCTION(3)\fP callback function in which addresses are
|
||||||
|
sanitized before use.
|
||||||
|
|
||||||
.IP "Private Resources"
|
.IP "Private Resources"
|
||||||
A user who can control the DNS server of a domain being passed in within a URL
|
A user who can control the DNS server of a domain being passed in within a URL
|
||||||
@@ -1162,21 +1167,21 @@ can change the address of the host to a local, private address which a
|
|||||||
server-side libcurl-using application could then use. e.g. the innocuous URL
|
server-side libcurl-using application could then use. e.g. the innocuous URL
|
||||||
http://fuzzybunnies.example.com/ could actually resolve to the IP address of a
|
http://fuzzybunnies.example.com/ could actually resolve to the IP address of a
|
||||||
server behind a firewall, such as 127.0.0.1 or 10.1.2.3. Apps can mitigate
|
server behind a firewall, such as 127.0.0.1 or 10.1.2.3. Apps can mitigate
|
||||||
against this by setting a CURLOPT_OPENSOCKETFUNCTION and checking the address
|
against this by setting a \fICURLOPT_OPENSOCKETFUNCTION(3)\fP and checking the
|
||||||
before a connection.
|
address before a connection.
|
||||||
|
|
||||||
All the malicious scenarios regarding redirected URLs apply just as well
|
All the malicious scenarios regarding redirected URLs apply just as well to
|
||||||
to non-redirected URLs, if the user is allowed to specify an arbitrary URL
|
non-redirected URLs, if the user is allowed to specify an arbitrary URL that
|
||||||
that could point to a private resource. For example, a web app providing
|
could point to a private resource. For example, a web app providing a
|
||||||
a translation service might happily translate file://localhost/etc/passwd
|
translation service might happily translate file://localhost/etc/passwd and
|
||||||
and display the result. Apps can mitigate against this with the
|
display the result. Apps can mitigate against this with the
|
||||||
CURLOPT_PROTOCOLS option as well as by similar mitigation techniques for
|
\fICURLOPT_PROTOCOLS(3)\fP option as well as by similar mitigation techniques
|
||||||
redirections.
|
for redirections.
|
||||||
|
|
||||||
A malicious FTP server could in response to the PASV command return an
|
A malicious FTP server could in response to the PASV command return an IP
|
||||||
IP address and port number for a server local to the app running libcurl
|
address and port number for a server local to the app running libcurl but
|
||||||
but behind a firewall. Apps can mitigate against this by using the
|
behind a firewall. Apps can mitigate against this by using the
|
||||||
CURLOPT_FTP_SKIP_PASV_IP option or CURLOPT_FTPPORT.
|
\fICURLOPT_FTP_SKIP_PASV_IP(3)\fP option or \fICURLOPT_FTPPORT(3)\fP.
|
||||||
|
|
||||||
.IP "IPv6 Addresses"
|
.IP "IPv6 Addresses"
|
||||||
libcurl will normally handle IPv6 addresses transparently and just as easily
|
libcurl will normally handle IPv6 addresses transparently and just as easily
|
||||||
@@ -1193,25 +1198,25 @@ can be used to limit resolved addresses to IPv4 only and bypass these issues.
|
|||||||
|
|
||||||
.IP Uploads
|
.IP Uploads
|
||||||
When uploading, a redirect can cause a local (or remote) file to be
|
When uploading, a redirect can cause a local (or remote) file to be
|
||||||
overwritten. Apps must not allow any unsanitized URL to be passed in
|
overwritten. Apps must not allow any unsanitized URL to be passed in for
|
||||||
for uploads. Also, CURLOPT_FOLLOWLOCATION should not be used on uploads.
|
uploads. Also, \fICURLOPT_FOLLOWLOCATION(3)\fP should not be used on uploads.
|
||||||
Instead, the app should handle redirects itself, sanitizing each URL first.
|
Instead, the app should handle redirects itself, sanitizing each URL first.
|
||||||
|
|
||||||
.IP Authentication
|
.IP Authentication
|
||||||
Use of CURLOPT_UNRESTRICTED_AUTH could cause authentication information to
|
Use of \fICURLOPT_UNRESTRICTED_AUTH(3)\fP could cause authentication
|
||||||
be sent to an unknown second server. Apps can mitigate against this
|
information to be sent to an unknown second server. Apps can mitigate against
|
||||||
by disabling CURLOPT_FOLLOWLOCATION and handling redirects itself,
|
this by disabling \fICURLOPT_FOLLOWLOCATION(3)\fP and handling redirects
|
||||||
sanitizing where necessary.
|
itself, sanitizing where necessary.
|
||||||
|
|
||||||
Use of the CURLAUTH_ANY option to CURLOPT_HTTPAUTH could result in user
|
Use of the CURLAUTH_ANY option to \fICURLOPT_HTTPAUTH(3)\fP could result in
|
||||||
name and password being sent in clear text to an HTTP server. Instead,
|
user name and password being sent in clear text to an HTTP server. Instead,
|
||||||
use CURLAUTH_ANYSAFE which ensures that the password is encrypted over
|
use CURLAUTH_ANYSAFE which ensures that the password is encrypted over the
|
||||||
the network, or else fail the request.
|
network, or else fail the request.
|
||||||
|
|
||||||
Use of the CURLUSESSL_TRY option to CURLOPT_USE_SSL could result in user
|
Use of the CURLUSESSL_TRY option to \fICURLOPT_USE_SSL(3)\fP could result in
|
||||||
name and password being sent in clear text to an FTP server. Instead,
|
user name and password being sent in clear text to an FTP server. Instead,
|
||||||
use CURLUSESSL_CONTROL to ensure that an encrypted connection is used or
|
use CURLUSESSL_CONTROL to ensure that an encrypted connection is used or else
|
||||||
else fail the request.
|
fail the request.
|
||||||
|
|
||||||
.IP Cookies
|
.IP Cookies
|
||||||
If cookies are enabled and cached, then a user could craft a URL which
|
If cookies are enabled and cached, then a user could craft a URL which
|
||||||
@@ -1227,34 +1232,35 @@ scp://user:pass@host/a;date >/tmp/test;
|
|||||||
Apps must not allow unsanitized SCP: URLs to be passed in for downloads.
|
Apps must not allow unsanitized SCP: URLs to be passed in for downloads.
|
||||||
|
|
||||||
.IP "Denial of Service"
|
.IP "Denial of Service"
|
||||||
A malicious server could cause libcurl to effectively hang by sending
|
A malicious server could cause libcurl to effectively hang by sending a
|
||||||
a trickle of data through, or even no data at all but just keeping the TCP
|
trickle of data through, or even no data at all but just keeping the TCP
|
||||||
connection open. This could result in a denial-of-service attack. The
|
connection open. This could result in a denial-of-service attack. The
|
||||||
CURLOPT_TIMEOUT and/or CURLOPT_LOW_SPEED_LIMIT options can be used to
|
\fICURLOPT_TIMEOUT(3)\fP and/or \fICURLOPT_LOW_SPEED_LIMIT(3)\fP options can
|
||||||
mitigate against this.
|
be used to mitigate against this.
|
||||||
|
|
||||||
A malicious server could cause libcurl to effectively hang by starting to
|
A malicious server could cause libcurl to effectively hang by starting to send
|
||||||
send data, then severing the connection without cleanly closing the
|
data, then severing the connection without cleanly closing the TCP connection.
|
||||||
TCP connection. The app could install a CURLOPT_SOCKOPTFUNCTION callback
|
The app could install a \fICURLOPT_SOCKOPTFUNCTION(3)\fP callback function and
|
||||||
function and set the TCP SO_KEEPALIVE option to mitigate against this.
|
set the TCP SO_KEEPALIVE option to mitigate against this. Setting one of the
|
||||||
Setting one of the timeout options would also work against this attack.
|
timeout options would also work against this attack.
|
||||||
|
|
||||||
A malicious server could cause libcurl to download an infinite amount of
|
A malicious server could cause libcurl to download an infinite amount of data,
|
||||||
data, potentially causing all of memory or disk to be filled. Setting
|
potentially causing all of memory or disk to be filled. Setting the
|
||||||
the CURLOPT_MAXFILESIZE_LARGE option is not sufficient to guard against this.
|
\fICURLOPT_MAXFILESIZE_LARGE(3)\fP option is not sufficient to guard against
|
||||||
Instead, the app should monitor the amount of data received within the
|
this. Instead, the app should monitor the amount of data received within the
|
||||||
write or progress callback and abort once the limit is reached.
|
write or progress callback and abort once the limit is reached.
|
||||||
|
|
||||||
A malicious HTTP server could cause an infinite redirection loop, causing a
|
A malicious HTTP server could cause an infinite redirection loop, causing a
|
||||||
denial-of-service. This can be mitigated by using the CURLOPT_MAXREDIRS
|
denial-of-service. This can be mitigated by using the
|
||||||
option.
|
\fICURLOPT_MAXREDIRS(3)\fP option.
|
||||||
|
|
||||||
.IP "Arbitrary Headers"
|
.IP "Arbitrary Headers"
|
||||||
User-supplied data must be sanitized when used in options like
|
User-supplied data must be sanitized when used in options like
|
||||||
CURLOPT_USERAGENT, CURLOPT_HTTPHEADER, CURLOPT_POSTFIELDS and others that
|
\fICURLOPT_USERAGENT(3)\fP, \fICURLOPT_HTTPHEADER(3)\fP,
|
||||||
are used to generate structured data. Characters like embedded carriage
|
\fICURLOPT_POSTFIELDS(3)\fP and others that are used to generate structured
|
||||||
returns or ampersands could allow the user to create additional headers or
|
data. Characters like embedded carriage returns or ampersands could allow the
|
||||||
fields that could cause malicious transactions.
|
user to create additional headers or fields that could cause malicious
|
||||||
|
transactions.
|
||||||
|
|
||||||
.IP "Server-supplied Names"
|
.IP "Server-supplied Names"
|
||||||
A server can supply data which the application may, in some cases, use as
|
A server can supply data which the application may, in some cases, use as
|
||||||
@@ -1266,9 +1272,9 @@ names to avoid the possibility of a malicious server supplying one like
|
|||||||
"/etc/passwd", "\\autoexec.bat", "prn:" or even ".bashrc".
|
"/etc/passwd", "\\autoexec.bat", "prn:" or even ".bashrc".
|
||||||
|
|
||||||
.IP "Server Certificates"
|
.IP "Server Certificates"
|
||||||
A secure application should never use the CURLOPT_SSL_VERIFYPEER option to
|
A secure application should never use the \fICURLOPT_SSL_VERIFYPEER(3)\fP
|
||||||
disable certificate validation. There are numerous attacks that are enabled
|
option to disable certificate validation. There are numerous attacks that are
|
||||||
by apps that fail to properly validate server TLS/SSL certificates,
|
enabled by apps that fail to properly validate server TLS/SSL certificates,
|
||||||
thus enabling a malicious server to spoof a legitimate one. HTTPS without
|
thus enabling a malicious server to spoof a legitimate one. HTTPS without
|
||||||
validated certificates is potentially as insecure as a plain HTTP connection.
|
validated certificates is potentially as insecure as a plain HTTP connection.
|
||||||
|
|
||||||
|
@@ -153,7 +153,7 @@ int x;
|
|||||||
curl_easy_setopt(NULL,CURLOPT_URL,NULL);
|
curl_easy_setopt(NULL,CURLOPT_URL,NULL);
|
||||||
x=CURL_ERROR_SIZE;
|
x=CURL_ERROR_SIZE;
|
||||||
x=CURLOPT_WRITEFUNCTION;
|
x=CURLOPT_WRITEFUNCTION;
|
||||||
x=CURLOPT_FILE;
|
x=CURLOPT_WRITEDATA;
|
||||||
x=CURLOPT_ERRORBUFFER;
|
x=CURLOPT_ERRORBUFFER;
|
||||||
x=CURLOPT_STDERR;
|
x=CURLOPT_STDERR;
|
||||||
x=CURLOPT_VERBOSE;
|
x=CURLOPT_VERBOSE;
|
||||||
|
44
docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
Normal file
44
docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPTTIMEOUT_MS, long ms);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long telling libcurl the maximum number of milliseconds to wait for a
|
||||||
|
server to connect back to libcurl when an active FTP connection is used.
|
||||||
|
.SH DEFAULT
|
||||||
|
If no timeout is set, the internal default of 60000 (one minute) will be used.
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.24.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), "
|
62
docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
Normal file
62
docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_ACCEPT_ENCODING 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * argument specifying what encoding you'd like.
|
||||||
|
|
||||||
|
Sets the contents of the Accept-Encoding: header sent in a HTTP request, and
|
||||||
|
enables decoding of a response when a Content-Encoding: header is received.
|
||||||
|
Three encodings are supported: \fIidentity\fP, which does nothing,
|
||||||
|
\fIdeflate\fP which requests the server to compress its response using the
|
||||||
|
zlib algorithm, and \fIgzip\fP which requests the gzip algorithm.
|
||||||
|
|
||||||
|
If a zero-length string is set like "", then an Accept-Encoding: header
|
||||||
|
containing all built-in supported encodings is sent.
|
||||||
|
|
||||||
|
You can also opt to just include the Accept-Encoding: header in your request
|
||||||
|
with \fICURLOPT_HTTPHEADER(3)\fP but then there will be no automatic
|
||||||
|
decompressing when receiving data.
|
||||||
|
|
||||||
|
This is a request, not an order; the server may or may not do it. This option
|
||||||
|
must be set (to any non-NULL value) or else any unsolicited encoding done by
|
||||||
|
the server is ignored. See the special file lib/README.encoding for further
|
||||||
|
details.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
This option was called CURLOPT_ENCODING before 7.21.6
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_TRANSFER_ENCODING "(3), " CURLOPT_HTTPHEADER "(3), "
|
44
docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
Normal file
44
docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_ADDRESS_SCOPE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_ADDRESS_SCOPE \- set scope for local IPv6 addresses
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ADDRESS_SCOPE, long scope);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long specifying the scope_id value to use when connecting to IPv6
|
||||||
|
link-local or site-local addresses.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All, when using IPv6
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.19.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), "
|
44
docs/libcurl/opts/CURLOPT_APPEND.3
Normal file
44
docs/libcurl/opts/CURLOPT_APPEND.3
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_APPEND 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_APPEND \- enable appending to the remote file
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_APPEND, long append);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
A parameter set to 1 tells the library to append to the remote file instead of
|
||||||
|
overwrite it. This is only useful when uploading to an FTP site.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
This option was known as CURLOPT_FTPAPPEND up to 7.16.4
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_DIRLISTONLY "(3), " CURLOPT_RESUME_FROM "(3), "
|
45
docs/libcurl/opts/CURLOPT_AUTOREFERER.3
Normal file
45
docs/libcurl/opts/CURLOPT_AUTOREFERER.3
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_AUTOREFERER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_AUTOREFERER \- automatically update the referer header
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_AUTOREFERER, long autorefer);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a parameter set to 1 to enable this. When enabled, libcurl will
|
||||||
|
automatically set the Referer: header field in HTTP requests where it follows
|
||||||
|
a Location: redirect.
|
||||||
|
.SH DEFAULT
|
||||||
|
0, disabled
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Along with HTTP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_REFERER "(3), " CURLOPT_FOLLOWLOCATION "(3), "
|
50
docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
Normal file
50
docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_BUFFERSIZE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_BUFFERSIZE \- set preferred receive buffer size
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long specifying your preferred \fIsize\fP (in bytes) for the receive
|
||||||
|
buffer in libcurl. The main point of this would be that the write callback
|
||||||
|
gets called more often and with smaller chunks. This is just treated as a
|
||||||
|
request, not an order. You cannot be guaranteed to actually get the given
|
||||||
|
size.
|
||||||
|
|
||||||
|
This size is by default set as big as possible (\fICURL_MAX_WRITE_SIZE\fP), so
|
||||||
|
it only makes sense to use this option if you want it smaller.
|
||||||
|
.SH DEFAULT
|
||||||
|
CURL_MAX_WRITE_SIZE
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.10
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_MAX_RECV_SPEED "(3), " CURLOPT_WRITEFUNCTION "(3), "
|
55
docs/libcurl/opts/CURLOPT_CAINFO.3
Normal file
55
docs/libcurl/opts/CURLOPT_CAINFO.3
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CAINFO 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * to a zero terminated string naming a file holding one or more
|
||||||
|
certificates to verify the peer with.
|
||||||
|
|
||||||
|
If \fICURLOPT_SSL_VERIFYPEER(3)\fP is zero and you avoid verifying the
|
||||||
|
server's certificate, \fICURLOPT_CAINFO(3)\fP need not even indicate an
|
||||||
|
accessible file.
|
||||||
|
|
||||||
|
This option is by default set to the system path where libcurl's cacert bundle
|
||||||
|
is assumed to be stored, as established at build time.
|
||||||
|
|
||||||
|
If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module
|
||||||
|
(libnsspem.so) needs to be available for this option to work properly.
|
||||||
|
.SH DEFAULT
|
||||||
|
Built-in system specific
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
If built TLS enabled
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), "
|
53
docs/libcurl/opts/CURLOPT_CAPATH.3
Normal file
53
docs/libcurl/opts/CURLOPT_CAPATH.3
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CAPATH 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CAPATH \- specify directory holding CA certificates
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAPATH, char *capath);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * to a zero terminated string naming a directory holding multiple
|
||||||
|
CA certificates to verify the peer with. If libcurl is built against OpenSSL,
|
||||||
|
the certificate directory must be prepared using the openssl c_rehash utility.
|
||||||
|
This makes sense only when used in combination with the
|
||||||
|
\fICURLOPT_SSL_VERIFYPEER(3)\fP option. If \fICURLOPT_SSL_VERIFYPEER(3)\fP is
|
||||||
|
zero, \fICURLOPT_CAPATH(3)\fP need not even indicate an accessible path. The
|
||||||
|
\fICURLOPT_CAPATH(3)\fP function apparently does not work in Windows due to
|
||||||
|
some limitation in openssl.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
This option is OpenSSL-specific and does nothing if libcurl is built to use
|
||||||
|
GnuTLS. NSS-powered libcurl provides the option only for backward
|
||||||
|
compatibility.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if TLS enabled, and CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), "
|
48
docs/libcurl/opts/CURLOPT_CERTINFO.3
Normal file
48
docs/libcurl/opts/CURLOPT_CERTINFO.3
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CERTINFO 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CERTINFO \- request SSL certificate information
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long set to 1 to enable libcurl's certificate chain info gatherer. With
|
||||||
|
this enabled, libcurl (if built with OpenSSL, NSS, GSKit or QsoSSL) will
|
||||||
|
extract lots of information and data about the certificates in the certificate
|
||||||
|
chain used in the SSL connection. This data may then be retrieved after a
|
||||||
|
transfer using \fIcurl_easy_getinfo(3)\fP and its option
|
||||||
|
\fICURLINFO_CERTINFO\fP.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All TLS-based
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.19.1
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CAINFO "(3), " CURLOPT_SSL_VERIFYPEER "(3), "
|
69
docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
Normal file
69
docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
long chunk_bgn_callback(const void *transfer_info, void *ptr,
|
||||||
|
int remains);
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_BGN_FUNCTION,
|
||||||
|
chunk_bgn_callback);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to your callback function, which should match the prototype
|
||||||
|
shown above.
|
||||||
|
|
||||||
|
This callback function gets called by libcurl before a part of the stream is
|
||||||
|
going to be transferred (if the transfer supports chunks).
|
||||||
|
|
||||||
|
The \fItransfer_info\fP pointer will point to a struct curl_fileinfo with
|
||||||
|
details about the file that is about to get transfered.
|
||||||
|
|
||||||
|
This callback makes sense only when using the \fICURLOPT_WILDCARDMATCH(3)\fP
|
||||||
|
option for now.
|
||||||
|
|
||||||
|
The target of transfer_info parameter is a "feature depended" structure. For
|
||||||
|
the FTP wildcard download, the target is curl_fileinfo structure (see
|
||||||
|
\fIcurl/curl.h\fP). The parameter \fIptr\fP is a pointer given by
|
||||||
|
\fICURLOPT_CHUNK_DATA(3)\fP. The parameter remains contains number of chunks
|
||||||
|
remaining per the transfer. If the feature is not available, the parameter has
|
||||||
|
zero value.
|
||||||
|
|
||||||
|
Return \fICURL_CHUNK_BGN_FUNC_OK\fP if everything is fine,
|
||||||
|
\fICURL_CHUNK_BGN_FUNC_SKIP\fP if you want to skip the concrete chunk or
|
||||||
|
\fICURL_CHUNK_BGN_FUNC_FAIL\fP to tell libcurl to stop if some error occurred.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
This was added in 7.21.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CHUNK_END_FUNCTION "(3), " CURLOPT_WILDCARDMATCH "(3), "
|
45
docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
Normal file
45
docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CHUNK_DATA 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_DATA, void *pointer);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a \fIpointer\fP that will be untouched by libcurl and passed as the ptr
|
||||||
|
argument to the \fICURL_CHUNK_BGN_FUNTION(3)\fP and
|
||||||
|
\fICURL_CHUNK_END_FUNTION(3)\fP.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.21.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CHUNK_BGN_FUNCTION "(3), " CURLOPT_WILDCARDMATCH "(3), "
|
54
docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
Normal file
54
docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CHUNK_END_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CHUNK_END_FUNCTION \- callback after a transfer with FTP wildcardmatch
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
long chunk_end_callback(void *ptr);
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_END_FUNCTION,
|
||||||
|
chunk_end_callback);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to your callback function, which should match the prototype
|
||||||
|
shown above.
|
||||||
|
|
||||||
|
This function gets called by libcurl as soon as a part of the stream has been
|
||||||
|
transferred (or skipped).
|
||||||
|
|
||||||
|
Return \fICURL_CHUNK_END_FUNC_OK\fP if everything is fine or
|
||||||
|
\fBCURL_CHUNK_END_FUNC_FAIL\fP to tell the lib to stop if some error occurred.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.21.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_WILDCARDMATCH "(3), " CURLOPT_CHUNK_BGN_FUNCTION "(3), "
|
45
docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
Normal file
45
docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CLOSESOCKETDATA 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETDATA, void *pointer);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a \fIpointer\fP that will be untouched by libcurl and passed as the first
|
||||||
|
argument in the closesocket callback set with
|
||||||
|
\fICURLOPT_CLOSESOCKETFUNCTION(3)\fP.
|
||||||
|
.SH DEFAULT
|
||||||
|
The default value of this parameter is NULL.
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All except file:
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.21.7
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CLOSESOCKETFUNCTION "(3), " CURLOPT_OPENSOCKETFUNCTION "(3), "
|
56
docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
Normal file
56
docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CLOSESOCKETFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
int closesocket_callback(void *clientp, curl_socket_t item);
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETFUNCTION, closesocket_callback);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to your callback function, which should match the prototype
|
||||||
|
shown above.
|
||||||
|
|
||||||
|
This callback function gets called by libcurl instead of the \fIclose(3)\fP or
|
||||||
|
\fIclosesocket(3)\fP call when sockets are closed (not for any other file
|
||||||
|
descriptors). This is pretty much the reverse to the
|
||||||
|
\fICURLOPT_OPENSOCKETFUNCTION(3)\fP option. Return 0 to signal success and 1
|
||||||
|
if there was an error.
|
||||||
|
|
||||||
|
The \fIclientp\fP pointer is set with
|
||||||
|
\fICURLOPT_CLOSESOCKETDATA(3)\fP. \fIitem\fP is the socket libcurl wants to be
|
||||||
|
closed.
|
||||||
|
.SH DEFAULT
|
||||||
|
By default libcurl uses the standard socket close function.
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.21.7
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CLOSESOCKETDATA "(3), " CURLOPT_OPENSOCKETFUNCTION "(3), "
|
50
docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
Normal file
50
docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CONNECTTIMEOUT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT, long timeout);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. It should contain the maximum time in seconds that you allow the
|
||||||
|
connection phase to the server to take. This only limits the connection
|
||||||
|
phase, it has no impact once it has connected. Set to zero to switch to the
|
||||||
|
default built-in connection timeout - 300 seconds. See also the
|
||||||
|
\fICURLOPT_TIMEOUT(3)\fP option.
|
||||||
|
|
||||||
|
In unix-like systems, this might cause signals to be used unless
|
||||||
|
\fICURLOPT_NOSIGNAL(3)\fP is set.
|
||||||
|
.SH DEFAULT
|
||||||
|
300
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_TIMEOUT "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), "
|
50
docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
Normal file
50
docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CONNECTTIMEOUT_MS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT_MS, long timeout);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. It should contain the maximum time in milliseconds that you allow
|
||||||
|
the connection phase to the server to take. This only limits the connection
|
||||||
|
phase, it has no impact once it has connected. Set to zero to switch to the
|
||||||
|
default built-in connection timeout - 300 seconds. See also the
|
||||||
|
\fICURLOPT_TIMEOUT_MS(3)\fP option.
|
||||||
|
|
||||||
|
In unix-like systems, this might cause signals to be used unless
|
||||||
|
\fICURLOPT_NOSIGNAL(3)\fP is set.
|
||||||
|
.SH DEFAULT
|
||||||
|
300000
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_TIMEOUT "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), "
|
51
docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
Normal file
51
docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CONNECT_ONLY 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CONNECT_ONLY \- stop when connected to target server
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. If the parameter equals 1, it tells the library to perform all
|
||||||
|
the required proxy authentication and connection setup, but no data transfer,
|
||||||
|
and then return. This option is implemented for HTTP, SMTP and POP3.
|
||||||
|
|
||||||
|
The option can be used to simply test a connection to a server, but is more
|
||||||
|
useful when used with the \fICURLINFO_LASTSOCKET\fP option to
|
||||||
|
\fIcurl_easy_getinfo(3)\fP as the library can set up the connection and then
|
||||||
|
the application can obtain the most recently used socket for special data
|
||||||
|
transfers.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP, SMTP and POP3
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.15.2
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_VERBOSE "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
|
82
docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
Normal file
82
docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CONV_FROM_NETWORK_FUNCTION \- convert data from network to host encoding
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode conv_callback(char *ptr, size_t length);
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
|
||||||
|
conv_callback);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to your callback function, which should match the prototype
|
||||||
|
shown above.
|
||||||
|
|
||||||
|
Applies to non-ASCII platforms. \fIcurl_version_info(3)\fP will return the
|
||||||
|
CURL_VERSION_CONV feature bit set if this option is provided.
|
||||||
|
|
||||||
|
The data to be converted is in a buffer pointed to by the \fIptr\fP parameter.
|
||||||
|
The amount of data to convert is indicated by the \fIlength\fP parameter. The
|
||||||
|
converted data overlays the input data in the buffer pointed to by the ptr
|
||||||
|
parameter. \fICURLE_OK\fP must be returned upon successful conversion. A
|
||||||
|
CURLcode return value defined by curl.h, such as \fICURLE_CONV_FAILED\fP,
|
||||||
|
should be returned if an error was encountered.
|
||||||
|
|
||||||
|
\fBCURLOPT_CONV_FROM_NETWORK_FUNCTION\fP converts to host encoding from the
|
||||||
|
network encoding. It is used when commands or ASCII data are received over
|
||||||
|
the network.
|
||||||
|
|
||||||
|
If you set a callback pointer to NULL, or don't set it at all, the built-in
|
||||||
|
libcurl iconv functions will be used. If HAVE_ICONV was not defined when
|
||||||
|
libcurl was built, and no callback has been established, conversion will
|
||||||
|
return the CURLE_CONV_REQD error code.
|
||||||
|
|
||||||
|
If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined.
|
||||||
|
For example:
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
|
||||||
|
|
||||||
|
The iconv code in libcurl will default the network and UTF8 codeset names as
|
||||||
|
follows:
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
|
||||||
|
|
||||||
|
You will need to override these definitions if they are different on your
|
||||||
|
system.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP, SMTP, IMAP, POP3
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Available only if \fBCURL_DOES_CONVERSIONS\fP was defined when libcurl was built.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CONV_TO_NETWORK_FUNCTION "(3), " CURLOPT_CONV_FROM_UTF8_FUNCTION "(3), "
|
81
docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
Normal file
81
docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CONV_FROM_UTF8_FUNCTION \- convert data from UTF8 to host encoding
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode conv_callback(char *ptr, size_t length);
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_UTF8_FUNCTION,
|
||||||
|
conv_callback);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to your callback function, which should match the prototype
|
||||||
|
shown above.
|
||||||
|
|
||||||
|
Applies to non-ASCII platforms. \fIcurl_version_info(3)\fP will return the
|
||||||
|
CURL_VERSION_CONV feature bit set if this option is provided.
|
||||||
|
|
||||||
|
The data to be converted is in a buffer pointed to by the \fIptr\fP parameter.
|
||||||
|
The amount of data to convert is indicated by the \fIlength\fP parameter. The
|
||||||
|
converted data overlays the input data in the buffer pointed to by the ptr
|
||||||
|
parameter. \fICURLE_OK\fP must be returned upon successful conversion. A
|
||||||
|
CURLcode return value defined by curl.h, such as \fICURLE_CONV_FAILED\fP,
|
||||||
|
should be returned if an error was encountered.
|
||||||
|
|
||||||
|
\fBCURLOPT_CONV_FROM_UTF8_FUNCTION\fP converts to host encoding from UTF8
|
||||||
|
encoding. It is required only for SSL processing.
|
||||||
|
|
||||||
|
If you set a callback pointer to NULL, or don't set it at all, the built-in
|
||||||
|
libcurl iconv functions will be used. If HAVE_ICONV was not defined when
|
||||||
|
libcurl was built, and no callback has been established, conversion will
|
||||||
|
return the CURLE_CONV_REQD error code.
|
||||||
|
|
||||||
|
If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined.
|
||||||
|
For example:
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
|
||||||
|
|
||||||
|
The iconv code in libcurl will default the network and UTF8 codeset names as
|
||||||
|
follows:
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
|
||||||
|
|
||||||
|
You will need to override these definitions if they are different on your
|
||||||
|
system.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
TLS-based protocols.
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Available only if \fBCURL_DOES_CONVERSIONS\fP was defined when libcurl was built.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CONV_TO_NETWORK_FUNCTION "(3), " CURLOPT_CONV_FROM_NETWORK_FUNCTION "(3), "
|
82
docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
Normal file
82
docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CONV_TO_NETWORK_FUNCTION \- convert data to network from host encoding
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode conv_callback(char *ptr, size_t length);
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_TO_NETWORK_FUNCTION,
|
||||||
|
conv_callback);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to your callback function, which should match the prototype
|
||||||
|
shown above.
|
||||||
|
|
||||||
|
Applies to non-ASCII platforms. \fIcurl_version_info(3)\fP will return the
|
||||||
|
CURL_VERSION_CONV feature bit set if this option is provided.
|
||||||
|
|
||||||
|
The data to be converted is in a buffer pointed to by the \fIptr\fP parameter.
|
||||||
|
The amount of data to convert is indicated by the \fIlength\fP parameter. The
|
||||||
|
converted data overlays the input data in the buffer pointed to by the ptr
|
||||||
|
parameter. \fICURLE_OK\fP must be returned upon successful conversion. A
|
||||||
|
CURLcode return value defined by curl.h, such as \fICURLE_CONV_FAILED\fP,
|
||||||
|
should be returned if an error was encountered.
|
||||||
|
|
||||||
|
\fBCURLOPT_CONV_TO_NETWORK_FUNCTION\fP converts from host encoding to the
|
||||||
|
network encoding. It is used when commands or ASCII data are sent over the
|
||||||
|
network.
|
||||||
|
|
||||||
|
If you set a callback pointer to NULL, or don't set it at all, the built-in
|
||||||
|
libcurl iconv functions will be used. If HAVE_ICONV was not defined when
|
||||||
|
libcurl was built, and no callback has been established, conversion will
|
||||||
|
return the CURLE_CONV_REQD error code.
|
||||||
|
|
||||||
|
If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined.
|
||||||
|
For example:
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
|
||||||
|
|
||||||
|
The iconv code in libcurl will default the network and UTF8 codeset names as
|
||||||
|
follows:
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
|
||||||
|
|
||||||
|
\&#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
|
||||||
|
|
||||||
|
You will need to override these definitions if they are different on your
|
||||||
|
system.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP, SMTP, IMAP, POP3
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Available only if \fBCURL_DOES_CONVERSIONS\fP was defined when libcurl was built.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CONV_FROM_NETWORK_FUNCTION "(3), " CURLOPT_CONV_TO_UTF8_FUNCTION "(3), "
|
62
docs/libcurl/opts/CURLOPT_COOKIE.3
Normal file
62
docs/libcurl/opts/CURLOPT_COOKIE.3
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_COOKIE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_COOKIE \- set contents of HTTP Cookie header
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to a zero terminated string as parameter. It will be used to
|
||||||
|
set a cookie in the HTTP request. The format of the string should be
|
||||||
|
NAME=CONTENTS, where NAME is the cookie name and CONTENTS is what the cookie
|
||||||
|
should contain.
|
||||||
|
|
||||||
|
If you need to set multiple cookies, set them all using a single option
|
||||||
|
concatenated like this: "name1=content1; name2=content2;" etc.
|
||||||
|
|
||||||
|
This option sets the cookie header explicitly in the outgoing request(s). If
|
||||||
|
multiple requests are done due to authentication, followed redirections or
|
||||||
|
similar, they will all get this cookie passed on.
|
||||||
|
|
||||||
|
Using this option multiple times will only make the latest string override the
|
||||||
|
previous ones.
|
||||||
|
|
||||||
|
This option will not enable the cookie engine. Use \fICURLOPT_COOKIEFILE(3)\fP
|
||||||
|
or \fICURLOPT_COOKIEJAR(3)\fP to enable parsing and sending cookies
|
||||||
|
automatically.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL, no cookies
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
If HTTP is enabled
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if HTTP is enabled, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIEJAR "(3), "
|
||||||
|
.BR CURLOPT_HTTPHEADER "(3), "
|
59
docs/libcurl/opts/CURLOPT_COOKIEFILE.3
Normal file
59
docs/libcurl/opts/CURLOPT_COOKIEFILE.3
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_COOKIEFILE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_COOKIEFILE \- file name to read cookies from
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEFILE, char *filename);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to a zero terminated string as parameter. It should point to
|
||||||
|
the file name of your file holding cookie data to read. The cookie data can be
|
||||||
|
in either the old Netscape / Mozilla cookie data format or just regular
|
||||||
|
HTTP-style headers dumped to a file.
|
||||||
|
|
||||||
|
It also enables the cookie engine, making libcurl parse and send cookies on
|
||||||
|
subsequent requests with this handle.
|
||||||
|
|
||||||
|
Given an empty or non-existing file or by passing the empty string ("") to
|
||||||
|
this option, you can enable the cookie engine without reading any initial
|
||||||
|
cookies.
|
||||||
|
|
||||||
|
This option only \fBreads\fP cookies. To make libcurl write cookies to file,
|
||||||
|
see \fICURLOPT_COOKIEJAR(3)\fP.
|
||||||
|
|
||||||
|
If you use this option multiple times, you just add more files to read.
|
||||||
|
Subsequent files will add more cookies.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
As long as HTTP is supported
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_COOKIE "(3), " CURLOPT_COOKIEJAR "(3), "
|
58
docs/libcurl/opts/CURLOPT_COOKIEJAR.3
Normal file
58
docs/libcurl/opts/CURLOPT_COOKIEJAR.3
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_COOKIEJAR 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_COOKIEJAR \- file name to store cookies to
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a \fIfilename\fP as char *, zero terminated. This will make libcurl write
|
||||||
|
all internally known cookies to the specified file when
|
||||||
|
\fIcurl_easy_cleanup(3)\fP is called. If no cookies are known, no file will be
|
||||||
|
created. Specify "-" as filename to instead have the cookies written to
|
||||||
|
stdout. Using this option also enables cookies for this session, so if you for
|
||||||
|
example follow a location it will make matching cookies get sent accordingly.
|
||||||
|
|
||||||
|
Note that libcurl doesn't read any cookies from the cookie jar. If you want to
|
||||||
|
read cookies from a file, use \fICURLOPT_COOKIEFILE(3)\fP.
|
||||||
|
|
||||||
|
If the cookie jar file can't be created or written to (when the
|
||||||
|
\fIcurl_easy_cleanup(3)\fP is called), libcurl will not and cannot report an
|
||||||
|
error for this. Using \fICURLOPT_VERBOSE(3)\fP or
|
||||||
|
\fICURLOPT_DEBUGFUNCTION(3)\fP will get a warning to display, but that is the
|
||||||
|
only visible feedback you get about this possibly lethal situation.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Along with HTTP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIE "(3), "
|
65
docs/libcurl/opts/CURLOPT_COOKIELIST.3
Normal file
65
docs/libcurl/opts/CURLOPT_COOKIELIST.3
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_COOKIELIST 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_COOKIELIST \- add to or manipulate cookies held in memory
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIELIST,
|
||||||
|
char *cookie);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * to a \fIcookie\fP string.
|
||||||
|
|
||||||
|
Such a cookie can be either a single line in Netscape / Mozilla format or just
|
||||||
|
regular HTTP-style header (Set-Cookie: ...) format. This will also enable the
|
||||||
|
cookie engine. This adds that single cookie to the internal cookie store.
|
||||||
|
|
||||||
|
Additionally, there are commands available that perform actions if you pass in
|
||||||
|
these exact strings:
|
||||||
|
.IP ALL
|
||||||
|
erases all cookies held in memory
|
||||||
|
|
||||||
|
.IP SESS
|
||||||
|
erases all session cookies held in memory
|
||||||
|
|
||||||
|
.IP FLUSH
|
||||||
|
writes all known cookies to the file specified by \fICURLOPT_COOKIEJAR(3)\fP
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
ALL was added in 7.14.1
|
||||||
|
|
||||||
|
SESS was added in 7.15.4
|
||||||
|
|
||||||
|
FLUSH was added in 7.17.1
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIEJAR "(3), "
|
51
docs/libcurl/opts/CURLOPT_COOKIESESSION.3
Normal file
51
docs/libcurl/opts/CURLOPT_COOKIESESSION.3
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_COOKIESESSION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_COOKIESESSION \- start a new cookie session
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIESESSION, long init);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long set to 1 to mark this as a new cookie "session". It will force
|
||||||
|
libcurl to ignore all cookies it is about to load that are "session cookies"
|
||||||
|
from the previous session. By default, libcurl always stores and loads all
|
||||||
|
cookies, independent if they are session cookies or not. Session cookies are
|
||||||
|
cookies without expiry date and they are meant to be alive and existing for
|
||||||
|
this "session" only.
|
||||||
|
|
||||||
|
A "session" is usually defined in browser land for as long as you have your
|
||||||
|
browser up, more or less.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Along with HTTP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIE "(3), "
|
56
docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
Normal file
56
docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_COPYPOSTFIELDS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COPYPOSTFIELDS, char *data);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * as parameter, which should be the full data to post in a HTTP
|
||||||
|
POST operation. It behaves as the \fICURLOPT_POSTFIELDS(3)\fP option, but the
|
||||||
|
original data is instead copied by the library, allowing the application to
|
||||||
|
overwrite the original data after setting this option.
|
||||||
|
|
||||||
|
Because data are copied, care must be taken when using this option in
|
||||||
|
conjunction with \fICURLOPT_POSTFIELDSIZE(3)\fP or
|
||||||
|
\fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP: If the size has not been set prior to
|
||||||
|
\fICURLOPT_COPYPOSTFIELDS(3)\fP, the data is assumed to be a zero terminated
|
||||||
|
string; else the stored size informs the library about the byte count to
|
||||||
|
copy. In any case, the size must not be changed after
|
||||||
|
\fICURLOPT_COPYPOSTFIELDS(3)\fP, unless another \fICURLOPT_POSTFIELDS(3)\fP or
|
||||||
|
\fICURLOPT_COPYPOSTFIELDS(3)\fP option is issued.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.17.1
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_POSTFIELDS "(3), " CURLOPT_POSTFIELDSIZE "(3), "
|
47
docs/libcurl/opts/CURLOPT_CRLF.3
Normal file
47
docs/libcurl/opts/CURLOPT_CRLF.3
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CRLF 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CRLF \- enable/disable CRLF conversion
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLF, long conv);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. If the value is set to 1 (one), libcurl converts Unix newlines to
|
||||||
|
CRLF newlines on transfers. Disable this option again by setting the value to
|
||||||
|
0 (zero).
|
||||||
|
|
||||||
|
This is a legacy option of questionable use.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CONV_FROM_NETWORK_FUNCTION "(3), " CURLOPT_CONV_TO_NETWORK_FUNCTION "(3), "
|
60
docs/libcurl/opts/CURLOPT_CRLFILE.3
Normal file
60
docs/libcurl/opts/CURLOPT_CRLFILE.3
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CRLFILE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CRLFILE \- specify a Certificate Revocation List file
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLFILE, char *file);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * to a zero terminated string naming a \fIfile\fP with the
|
||||||
|
concatenation of CRL (in PEM format) to use in the certificate validation that
|
||||||
|
occurs during the SSL exchange.
|
||||||
|
|
||||||
|
When curl is built to use NSS or GnuTLS, there is no way to influence the use
|
||||||
|
of CRL passed to help in the verification process. When libcurl is built with
|
||||||
|
OpenSSL support, X509_V_FLAG_CRL_CHECK and X509_V_FLAG_CRL_CHECK_ALL are both
|
||||||
|
set, requiring CRL check against all the elements of the certificate chain if
|
||||||
|
a CRL file is passed.
|
||||||
|
|
||||||
|
This option makes sense only when used in combination with the
|
||||||
|
\fICURLOPT_SSL_VERIFYPEER(3)\fP option.
|
||||||
|
|
||||||
|
A specific error code (\fICURLE_SSL_CRL_BADFILE\fP) is defined with the
|
||||||
|
option. It is returned when the SSL exchange fails because the CRL file cannot
|
||||||
|
be loaded. A failure in certificate verification due to a revocation
|
||||||
|
information found in the CRL does not trigger this specific error.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All TLS-based protocols
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.19.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), "
|
95
docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
Normal file
95
docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_CUSTOMREQUEST 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_CUSTOMREQUEST \- custom string for request
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CUSTOMREQUEST, char *request);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to a zero terminated string as parameter.
|
||||||
|
|
||||||
|
When you change the request method by setting \fBCURLOPT_CUSTOMREQUEST(3)\fP
|
||||||
|
to something, you don't actually change how libcurl behaves or acts in regards
|
||||||
|
to the particular request method, it will only change the actual string sent
|
||||||
|
in the request.
|
||||||
|
|
||||||
|
Restore to the internal default by setting this to NULL.
|
||||||
|
|
||||||
|
This option can be used to specify the request:
|
||||||
|
.IP HTTP
|
||||||
|
Instead of GET or HEAD when performing HTTP based requests. This is
|
||||||
|
particularly useful, for example, for performing a HTTP DELETE request.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
When you tell libcurl to do a HEAD request, but then specify a GET though a
|
||||||
|
custom request libcurl will still act as if it sent a HEAD. To switch to a
|
||||||
|
proper HEAD use \fICURLOPT_NOBODY(3)\fP, to switch to a proper POST use
|
||||||
|
\fICURLOPT_POST(3)\fP or \fICURLOPT_POSTFIELDS(3)\fP and to switch to a proper
|
||||||
|
GET use \fICURLOPT_HTTPGET(3)\fP.
|
||||||
|
|
||||||
|
Many people have wrongly used this option to replace the entire request with
|
||||||
|
their own, including multiple headers and POST contents. While that might work
|
||||||
|
in many cases, it will cause libcurl to send invalid requests and it could
|
||||||
|
possibly confuse the remote server badly. Use \fICURLOPT_POST(3)\fP and
|
||||||
|
\fICURLOPT_POSTFIELDS(3)\fP to set POST data. Use \fICURLOPT_HTTPHEADER(3)\fP
|
||||||
|
to replace or extend the set of headers sent by libcurl. Use
|
||||||
|
\fICURLOPT_HTTP_VERSION(3)\fP to change HTTP version.
|
||||||
|
|
||||||
|
.IP FTP
|
||||||
|
Instead of LIST and NLST when performing FTP directory listings.
|
||||||
|
.IP IMAP
|
||||||
|
Instead of LIST when issuing IMAP based requests.
|
||||||
|
.IP POP3
|
||||||
|
Instead of LIST and RETR when issuing POP3 based requests.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
When you tell libcurl to use a custom request it will behave like a LIST or
|
||||||
|
RETR command was sent where it expects data to be returned by the server. As
|
||||||
|
such \fICURLOPT_NOBODY(3)\fP should be used when specifying commands such as
|
||||||
|
DELE and NOOP for example.
|
||||||
|
.IP SMTP
|
||||||
|
Instead of a HELP or VRFY when issuing SMTP based requests.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
Normally a multiline response is returned which can be used, in conjunction
|
||||||
|
with \fICURLOPT_MAIL_RCPT(3)\fP, to specify an EXPN request. If the
|
||||||
|
\fICURLOPT_NOBODY(3)\fP option is specified then the request can be used to
|
||||||
|
issue NOOP and RSET commands.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP, FTP, IMAP, POP3
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
IMAP is supported since 7.30.0, POP3 since 7.26.0 and SMTP since 7.34.0.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_HTTPHEADER "(3), " CURLOPT_NOBODY "(3), "
|
45
docs/libcurl/opts/CURLOPT_DEBUGDATA.3
Normal file
45
docs/libcurl/opts/CURLOPT_DEBUGDATA.3
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DEBUGDATA 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DEBUGDATA \- custom pointer for debug callback
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGDATA, void *pointer);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a \fIpointer\fP to whatever you want passed in to your
|
||||||
|
\fICURLOPT_DEBUGFUNCTION(3)\fP in the last void * argument. This pointer is
|
||||||
|
not used by libcurl, it is only passed to the callback.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
http://curl.haxx.se/libcurl/c/debug.html
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), "
|
88
docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
Normal file
88
docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DEBUGFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DEBUGFUNCTION \- debug callback
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
CURLINFO_TEXT = 0,
|
||||||
|
CURLINFO_HEADER_IN, /* 1 */
|
||||||
|
CURLINFO_HEADER_OUT, /* 2 */
|
||||||
|
CURLINFO_DATA_IN, /* 3 */
|
||||||
|
CURLINFO_DATA_OUT, /* 4 */
|
||||||
|
CURLINFO_SSL_DATA_IN, /* 5 */
|
||||||
|
CURLINFO_SSL_DATA_OUT, /* 6 */
|
||||||
|
CURLINFO_END
|
||||||
|
} curl_infotype;
|
||||||
|
|
||||||
|
int debug_callback(CURL *handle,
|
||||||
|
curl_infotype type,
|
||||||
|
char *data,
|
||||||
|
size_t size,
|
||||||
|
void *userptr);
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGFUNCTION,
|
||||||
|
debug_callback);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to your callback function, which should match the prototype
|
||||||
|
shown above.
|
||||||
|
|
||||||
|
\fICURLOPT_DEBUGFUNCTION(3)\fP replaces the standard debug function used when
|
||||||
|
\fICURLOPT_VERBOSE(3)\fP is in effect. This callback receives debug
|
||||||
|
information, as specified in the \fItype\fP argument. This function must
|
||||||
|
return 0. The \fIdata\fP pointed to by the char * passed to this function WILL
|
||||||
|
NOT be zero terminated, but will be exactly of the \fIsize\fP as told by the
|
||||||
|
\fIsize\fP argument.
|
||||||
|
|
||||||
|
The \fIuserptr\fP argument is the pointer set with \fICURLOPT_DEBUGDATA(3)\fP.
|
||||||
|
|
||||||
|
Available curl_infotype values:
|
||||||
|
.IP CURLINFO_TEXT
|
||||||
|
The data is informational text.
|
||||||
|
.IP CURLINFO_HEADER_IN
|
||||||
|
The data is header (or header-like) data received from the peer.
|
||||||
|
.IP CURLINFO_HEADER_OUT
|
||||||
|
The data is header (or header-like) data sent to the peer.
|
||||||
|
.IP CURLINFO_DATA_IN
|
||||||
|
The data is protocol data received from the peer.
|
||||||
|
.IP CURLINFO_DATA_OUT
|
||||||
|
The data is protocol data sent to the peer.
|
||||||
|
.IP CURLINFO_SSL_DATA_OUT
|
||||||
|
The data is SSL/TLS (binary) data sent to the peer.
|
||||||
|
.IP CURLINFO_SSL_DATA_IN
|
||||||
|
The data is SSL/TLS (binary) data received from the peer.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
http://curl.haxx.se/libcurl/c/debug.html
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_VERBOSE "(3), " CURLOPT_DEBUGDATA "(3), "
|
55
docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
Normal file
55
docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DIRLISTONLY 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DIRLISTONLY \- ask for names only in a directory listing
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DIRLISTONLY, long listonly);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
A parameter set to 1 tells the library to just list the names of files in a
|
||||||
|
directory, instead of doing a full directory listing that would include file
|
||||||
|
sizes, dates etc. This works for FTP and SFTP URLs.
|
||||||
|
|
||||||
|
This causes an FTP NLST command to be sent on an FTP server. Beware that some
|
||||||
|
FTP servers list only files in their response to NLST; they might not include
|
||||||
|
subdirectories and symbolic links.
|
||||||
|
|
||||||
|
Setting this option to 1 also implies a directory listing even if the URL
|
||||||
|
doesn't end with a slash, which otherwise is necessary.
|
||||||
|
|
||||||
|
Do NOT use this option if you also use \fICURLOPT_WILDCARDMATCH(3)\fP as it
|
||||||
|
will effectively break that feature then.
|
||||||
|
.SH DEFAULT
|
||||||
|
0, disabled
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP and SFTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
This option was known as CURLOPT_FTPLISTONLY up to 7.16.4
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_CUSTOMREQUEST "(3), "
|
56
docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
Normal file
56
docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_CACHE_TIMEOUT, long age);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long, this sets the timeout in seconds. Name resolves will be kept in
|
||||||
|
memory and used for this number of seconds. Set to zero to completely disable
|
||||||
|
caching, or set to -1 to make the cached entries remain forever. By default,
|
||||||
|
libcurl caches this info for 60 seconds.
|
||||||
|
|
||||||
|
The name resolve functions of various libc implementations don't re-read name
|
||||||
|
server information unless explicitly told so (for example, by calling
|
||||||
|
\fIres_init(3)\fP). This may cause libcurl to keep using the older server even
|
||||||
|
if DHCP has updated the server info, and this may look like a DNS cache issue
|
||||||
|
to the casual libcurl-app user.
|
||||||
|
|
||||||
|
Note that DNS entries have a "TTL" property but libcurl doesn't use that. This
|
||||||
|
DNS cache timeout is entirely speculative that a name will resolve to the same
|
||||||
|
address for a certain small amount of time into the future.
|
||||||
|
.SH DEFAULT
|
||||||
|
60
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_DNS_USE_GLOBAL_CACHE "(3), " CURLOPT_DNS_SERVERS "(3), "
|
48
docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
Normal file
48
docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DNS_INTERFACE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DNS_INTERFACE \- set interface to speak DNS over
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_INTERFACE, char *ifname);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * as parameter. Set the name of the network interface that the DNS
|
||||||
|
resolver should bind to. This must be an interface name (not an address). Set
|
||||||
|
this option to NULL to use the default setting (don't bind to a specific
|
||||||
|
interface).
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.33.0. This option also requires that libcurl was built with a
|
||||||
|
resolver backend that supports this operation. The c-ares backend is the only
|
||||||
|
such one.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not,
|
||||||
|
or CURLE_NOT_BUILT_IN if support was disabled at compile-time.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_DNS_SERVERS "(3), " CURLOPT_DNS_LOCAL_IP4 "(3), "
|
51
docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
Normal file
51
docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DNS_LOCAL_IP4 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Set the local IPv4 \fIaddress\fP that the resolver should bind to. The
|
||||||
|
argument should be of type char * and contain a single numerical IPv4 address
|
||||||
|
as a string. Set this option to NULL to use the default setting (don't bind
|
||||||
|
to a specific IP address).
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
This option requires that libcurl was built with a resolver backend that
|
||||||
|
supports this operation. The c-ares backend is the only such one.
|
||||||
|
|
||||||
|
Added in 7.33.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not,
|
||||||
|
CURLE_NOT_BUILT_IN if support was disabled at compile-time, or
|
||||||
|
CURLE_BAD_FUNCTION_ARGUMENT when given a bad address.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_DNS_INTERFACE "(3), " CURLOPT_DNS_LOCAL_IP4 "(3), "
|
51
docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
Normal file
51
docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DNS_LOCAL_IP6 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP6, char *address);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Set the local IPv6 \fIaddress\fP that the resolver should bind to. The
|
||||||
|
argument should be of type char * and contain a single IPv6 address as a
|
||||||
|
string. Set this option to NULL to use the default setting (don't bind to a
|
||||||
|
specific IP address).
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
This option requires that libcurl was built with a resolver backend that
|
||||||
|
supports this operation. The c-ares backend is the only such one.
|
||||||
|
|
||||||
|
Added in 7.33.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not,
|
||||||
|
CURLE_NOT_BUILT_IN if support was disabled at compile-time, or
|
||||||
|
CURLE_BAD_FUNCTION_ARGUMENT when given a bad address.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_DNS_INTERFACE "(3), " CURLOPT_DNS_LOCAL_IP4 "(3), "
|
56
docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
Normal file
56
docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DNS_SERVERS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DNS_SERVERS \- set preferred DNS servers
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SERVERS, char *servers);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * that is the list of DNS servers to be used instead of the system
|
||||||
|
default. The format of the dns servers option is:
|
||||||
|
|
||||||
|
host[:port][,host[:port]]...
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
192.168.1.100,192.168.1.101,3.4.5.6
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL - use system default
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
This option requires that libcurl was built with a resolver backend that
|
||||||
|
supports this operation. The c-ares backend is the only such one.
|
||||||
|
|
||||||
|
Added in 7.24.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not,
|
||||||
|
CURLE_NOT_BUILT_IN if support was disabled at compile-time,
|
||||||
|
CURLE_BAD_FUNCTION_ARGUMENT when given an invalid server list, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_DNS_LOCAL_IP4 "(3), " CURLOPT_DNS_CACHE_TIMEOUT "(3), "
|
50
docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
Normal file
50
docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_USE_GLOBAL_CACHE,
|
||||||
|
long enable);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. If the \fIenable\fP value is 1, it tells curl to use a global DNS
|
||||||
|
cache that will survive between easy handle creations and deletions. This is
|
||||||
|
not thread-safe and this will use a global variable.
|
||||||
|
|
||||||
|
\fBWARNING:\fP this option is considered obsolete. Stop using it. Switch over
|
||||||
|
to using the share interface instead! See \fICURLOPT_SHARE(3)\fP and
|
||||||
|
\fIcurl_share_init(3)\fP.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Subject for removal in the future. Do not use!
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_SHARE "(3), " CURLOPT_DNS_CACHE_TIMEOUT "(3), "
|
45
docs/libcurl/opts/CURLOPT_EGDSOCKET.3
Normal file
45
docs/libcurl/opts/CURLOPT_EGDSOCKET.3
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_EGDSOCKET 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_EGDSOCKET \- set EGD socket path
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EGDSOCKET, char *path);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * to the zero terminated path name to the Entropy Gathering Daemon
|
||||||
|
socket. It will be used to seed the random engine for SSL.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
If built TLS enabled. Only the OpenSSL and GnuTLS backends will use this.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_RANDOM_FILE "(3), "
|
57
docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
Normal file
57
docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_ERRORBUFFER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_ERRORBUFFER \- set error buffer for error messages
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * to a buffer that the libcurl may store human readable error
|
||||||
|
messages in on failures or problems. This may be more helpful than just the
|
||||||
|
return code from \fIcurl_easy_perform(3)\fP and related functions. The buffer
|
||||||
|
\fBmust be at least CURL_ERROR_SIZE bytes big\fP.
|
||||||
|
|
||||||
|
You must keep the associated buffer available until libcurl no longer needs
|
||||||
|
it. Failing to do so will cause very odd behavior or even crashes. libcurl
|
||||||
|
will need it until you call \fIcurl_easy_cleanup(3)\fP or you set the same
|
||||||
|
option again to use a different pointer.
|
||||||
|
|
||||||
|
Consider \fICURLOPT_VERBOSE(3)\fP and \fICURLOPT_DEBUGFUNCTION(3)\fP to better
|
||||||
|
debug and trace why errors happen.
|
||||||
|
|
||||||
|
If the library does not return an error, the buffer may not have been
|
||||||
|
touched. Do not rely on the contents in those cases.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_DEBUGFUNCTION "(3), " CURLOPT_VERBOSE "(3), "
|
49
docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
Normal file
49
docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EXPECT_100_TIMEOUT_MS,
|
||||||
|
long milliseconds);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long to tell libcurl the number of \fImilliseconds\fP to wait for a
|
||||||
|
server response with the HTTP status 100 (Continue), 417 (Expectation Failed)
|
||||||
|
or similar after sending a HTTP request containing an Expect: 100-continue
|
||||||
|
header. If this times out before a response is received, the request body is
|
||||||
|
sent anyway.
|
||||||
|
.SH DEFAULT
|
||||||
|
1000 milliseconds
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.36.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_POST "(3), " CURLOPT_HTTPPOST "(3), "
|
53
docs/libcurl/opts/CURLOPT_FAILONERROR.3
Normal file
53
docs/libcurl/opts/CURLOPT_FAILONERROR.3
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FAILONERROR 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FAILONERROR \- request failure on HTTP response >= 400
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FAILONERROR, long fail);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
A long parameter set to 1 tells the library to fail the request if the HTTP
|
||||||
|
code returned is equal to or larger than 400. The default action would be to
|
||||||
|
return the page normally, ignoring that code.
|
||||||
|
|
||||||
|
This method is not fail-safe and there are occasions where non-successful
|
||||||
|
response codes will slip through, especially when authentication is involved
|
||||||
|
(response codes 401 and 407).
|
||||||
|
|
||||||
|
You might get some amounts of headers transferred before this situation is
|
||||||
|
detected, like when a "100-continue" is received as a response to a POST/PUT
|
||||||
|
and a 401 or 407 is received immediately afterwards.
|
||||||
|
.SH DEFAULT
|
||||||
|
0, do not fail on error
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Along with HTTP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_HTTP200ALIASES "(3), "
|
47
docs/libcurl/opts/CURLOPT_FILETIME.3
Normal file
47
docs/libcurl/opts/CURLOPT_FILETIME.3
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FILETIME 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FILETIME \- get the modification time of the remote resource
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FILETIME, long gettime);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. If it is 1, libcurl will attempt to get the modification time of
|
||||||
|
the remote document in this operation. This requires that the remote server
|
||||||
|
sends the time or replies to a time querying command. The
|
||||||
|
\fIcurl_easy_getinfo(3)\fP function with the \fICURLINFO_FILETIME\fP argument
|
||||||
|
can be used after a transfer to extract the received time (if any).
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP, FTP, SFTP, FILE
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR curl_easy_getinfo "(3), "
|
46
docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
Normal file
46
docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FNMATCH_DATA 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_DATA,
|
||||||
|
void *pointer);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer that will be untouched by libcurl and passed as the ptr
|
||||||
|
argument to the \fICURL_FNMATCH_FUNCTION(3)\fP.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.21.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FNMATCH_FUNCTION "(3), " CURLOPT_WILDCARDMATCH "(3), "
|
56
docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
Normal file
56
docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FNMATCH_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
int fnmatch_callback(void *ptr,
|
||||||
|
const char *pattern,
|
||||||
|
const char *string);
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_FUNCTION,
|
||||||
|
fnmatch_callback);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to your callback function, which should match the prototype
|
||||||
|
shown above.
|
||||||
|
|
||||||
|
This callback s used for wildcard matching.
|
||||||
|
|
||||||
|
Return \fICURL_FNMATCHFUNC_MATCH\fP if pattern matches the string,
|
||||||
|
\fICURL_FNMATCHFUNC_NOMATCH\fP if not or \fICURL_FNMATCHFUNC_FAIL\fP if an
|
||||||
|
error occurred.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL == an internal function for wildcard matching.
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.21.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FNMATCH_DATA "(3), " CURLOPT_DEBUGFUNCTION "(3), "
|
53
docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
Normal file
53
docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FOLLOWLOCATION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
A parameter set to 1 tells the library to follow any Location: header that the
|
||||||
|
server sends as part of a HTTP header in a 3xx response.
|
||||||
|
|
||||||
|
This means that libcurl will re-send the same request on the new location and
|
||||||
|
follow new Location: headers all the way until no more such headers are
|
||||||
|
returned. \fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of
|
||||||
|
redirects libcurl will follow.
|
||||||
|
|
||||||
|
libcurl can limit to what protocols it will automatically follow. The accepted
|
||||||
|
protocols are set with \fICURLOPT_REDIR_PROTOCOLS(3)\fP and it excludes the
|
||||||
|
FILE protocol by default.
|
||||||
|
.SH DEFAULT
|
||||||
|
0, disabled
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Along with HTTP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_REDIR_PROTOCOLS "(3), " CURLOPT_PROTOCOLS "(3), "
|
50
docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
Normal file
50
docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FORBID_REUSE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FORBID_REUSE \- make connection get closed at once after use
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FORBID_REUSE, long close);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. Set \fIclose\fP to 1 to make libcurl explicitly close the
|
||||||
|
connection when done with the transfer. Normally, libcurl keeps all
|
||||||
|
connections alive when done with one transfer in case a succeeding one follows
|
||||||
|
that can re-use them. This option should be used with caution and only if you
|
||||||
|
understand what it does as it can seriously impact performance.
|
||||||
|
|
||||||
|
Set to 0 to have libcurl keep the connection open for possible later re-use
|
||||||
|
(default behavior).
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
Most
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FRESH_CONNECT "(3), " CURLOPT_MAXCONNECTS "(3), "
|
52
docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
Normal file
52
docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FRESH_CONNECT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FRESH_CONNECT \- force a new connection to be used
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FRESH_CONNECT, long fresh);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. Set to 1 to make the next transfer use a new (fresh) connection
|
||||||
|
by force instead of trying to re-use an existing one. This option should be
|
||||||
|
used with caution and only if you understand what it does as it may seriously
|
||||||
|
impact performance.
|
||||||
|
|
||||||
|
Related functionality is \fICURLOPT_FORBID_REUSE(3)\fP which makes sure the
|
||||||
|
connection is closed after use so that it won't be re-used.
|
||||||
|
|
||||||
|
Set \fIfresh\fP to 0 to have libcurl attempt re-using an existing connection
|
||||||
|
(default behavior).
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
Most
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FORBID_REUSE "(3), "
|
72
docs/libcurl/opts/CURLOPT_FTPPORT.3
Normal file
72
docs/libcurl/opts/CURLOPT_FTPPORT.3
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTPPORT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTPPORT \- make FTP transfer active
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPPORT, char *spec);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to a zero terminated string as parameter. It specifies that the
|
||||||
|
FTP transfer will be made actively and the given string will be used to get
|
||||||
|
the IP address to use for the FTP PORT instruction.
|
||||||
|
|
||||||
|
The PORT instruction tells the remote server to connect to our specified IP
|
||||||
|
address. The string may be a plain IP address, a host name, a network
|
||||||
|
interface name (under Unix) or just a '-' symbol to let the library use your
|
||||||
|
system's default IP address. Default FTP operations are passive, and thus
|
||||||
|
won't use PORT.
|
||||||
|
|
||||||
|
The address can be followed by a ':' to specify a port, optionally followed by
|
||||||
|
a '-' to specify a port range. If the port specified is 0, the operating
|
||||||
|
system will pick a free port. If a range is provided and all ports in the
|
||||||
|
range are not available, libcurl will report CURLE_FTP_PORT_FAILED for the
|
||||||
|
handle. Invalid port/range settings are ignored. IPv6 addresses followed by
|
||||||
|
a port or portrange have to be in brackets. IPv6 addresses without port/range
|
||||||
|
specifier can be in brackets.
|
||||||
|
|
||||||
|
Examples with specified ports:
|
||||||
|
|
||||||
|
.nf
|
||||||
|
eth0:0
|
||||||
|
192.168.1.2:32000-33000
|
||||||
|
curl.se:32123
|
||||||
|
[::1]:1234-4567
|
||||||
|
.fi
|
||||||
|
|
||||||
|
You disable PORT again and go back to using the passive version by setting
|
||||||
|
this option to NULL.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Port range support was added in 7.19.5
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FTP_USE_EPRT "(3), " CURLOPT_FTP_USE_EPSV "(3), "
|
53
docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
Normal file
53
docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTPSSLAUTH 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTPSSLAUTH \- set order to attemp TSL vs SSL when using FTP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPSSLAUTH, long order);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long using one of the values from below, to alter how libcurl issues
|
||||||
|
\&"AUTH TLS" or "AUTH SSL" when FTP over SSL is activated. This is only
|
||||||
|
interesting if \fICURLOPT_USE_SSL(3)\fP is also set.
|
||||||
|
|
||||||
|
Possible \fIorder\fP values:
|
||||||
|
.IP CURLFTPAUTH_DEFAULT
|
||||||
|
Allow libcurl to decide.
|
||||||
|
.IP CURLFTPAUTH_SSL
|
||||||
|
Try "AUTH SSL" first, and only if that fails try "AUTH TLS".
|
||||||
|
.IP CURLFTPAUTH_TLS
|
||||||
|
Try "AUTH TLS" first, and only if that fails try "AUTH SSL".
|
||||||
|
.SH DEFAULT
|
||||||
|
CURLFTPAUTH_DEFAULT
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.12.2
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_USE_SSL "(3), " CURLOPT_FTP_SSL_CCC "(3), "
|
46
docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
Normal file
46
docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_ACCOUNT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_ACCOUNT \- set account info for FTP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ACCOUNT, char *account);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a pointer to a zero terminated string (or NULL to disable). When an FTP
|
||||||
|
server asks for "account data" after user name and password has been provided,
|
||||||
|
this data is sent off using the ACCT command.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.13.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_USERNAME "(3), " CURLOPT_PASSWORD "(3), "
|
50
docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
Normal file
50
docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_ALTERNATIVE_TO_USER \- command to use instead of USER with FTP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ALTERNATIVE_TO_USER,
|
||||||
|
char *cmd);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a char * as parameter, pointing to a string which will be used to
|
||||||
|
authenticate if the usual FTP "USER user" and "PASS password" negotiation
|
||||||
|
fails. This is currently only known to be required when connecting to
|
||||||
|
Tumbleweed's Secure Transport FTPS server using client certificates for
|
||||||
|
authentication.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.15.5
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||||
|
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FTP_SKIP_PASV_IP "(3), " CURLOPT_FTP_RESPONSE_TIMEOUT "(3), "
|
70
docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
Normal file
70
docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_CREATE_MISSING_DIRS \- create missing dirs for FTP and SFTP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
CURLFTP_CREATE_DIR_NONE,
|
||||||
|
CURLFTP_CREATE_DIR,
|
||||||
|
CURLFTP_CREATE_DIR_RETRY
|
||||||
|
} curl_ftpcreatedir;
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_CREATE_MISSING_DIRS,
|
||||||
|
long create);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long telling libcurl to \fIcreate\fP the dir. If the value is
|
||||||
|
\fICURLFTP_CREATE_DIR\fP (1), libcurl will attempt to create any remote
|
||||||
|
directory that it fails to "move" into.
|
||||||
|
|
||||||
|
For FTP requests, that means a CWD command fails. CWD being the command that
|
||||||
|
changes working directory.
|
||||||
|
|
||||||
|
For SFTP requests, libcurl will attempt to create the remote directory if it
|
||||||
|
can't obtain a handle to the target-location. The creation will fail if a file
|
||||||
|
of the same name as the directory to create already exists or lack of
|
||||||
|
permissions prevents creation.
|
||||||
|
|
||||||
|
Setting \fIcreate\fP to \fICURLFTP_CREATE_DIR_RETRY\fP (2), tells libcurl to
|
||||||
|
retry the CWD command again if the subsequent MKD command fails. This is
|
||||||
|
especially useful if you're doing many simultaneous connections against the
|
||||||
|
same server and they all have this option enabled, as then CWD may first fail
|
||||||
|
but then another connection does MKD before this connection and thus MKD fails
|
||||||
|
but trying CWD works!
|
||||||
|
.SH DEFAULT
|
||||||
|
CURLFTP_CREATE_DIR_NONE (0)
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP and SFTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.10.7. SFTP support added in 7.16.3. The retry option was added in
|
||||||
|
7.19.4.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the
|
||||||
|
create value is not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FTP_FILEMETHOD "(3), " CURLOPT_FTP_USE_EPSV "(3), "
|
62
docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
Normal file
62
docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_FILEMETHOD 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_FILEMETHOD,
|
||||||
|
long method);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long telling libcurl which \fImethod\fP to use to reach a file on a
|
||||||
|
FTP(S) server.
|
||||||
|
|
||||||
|
This option exists because some server implementations aren't compliant to
|
||||||
|
what the standards say should work.
|
||||||
|
|
||||||
|
The argument should be one of the following alternatives:
|
||||||
|
.IP CURLFTPMETHOD_MULTICWD
|
||||||
|
libcurl does a single CWD operation for each path part in the given URL. For
|
||||||
|
deep hierarchies this means many commands. This is how RFC1738 says it should
|
||||||
|
be done. This is the default but the slowest behavior.
|
||||||
|
.IP CURLFTPMETHOD_NOCWD
|
||||||
|
libcurl does no CWD at all. libcurl will do SIZE, RETR, STOR etc and give a
|
||||||
|
full path to the server for all these commands. This is the fastest behavior.
|
||||||
|
.IP CURLFTPMETHOD_SINGLECWD
|
||||||
|
libcurl does one CWD with the full target directory and then operates on the
|
||||||
|
file \&"normally" (like in the multicwd case). This is somewhat more standards
|
||||||
|
compliant than 'nocwd' but without the full penalty of 'multicwd'.
|
||||||
|
.SH DEFAULT
|
||||||
|
CURLFTPMETHOD_MULTICWD
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.15.1
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FTPLISTONLY "(3), " CURLOPT_FTP_SKIP_PASV_IP "(3), "
|
50
docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
Normal file
50
docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_RESPONSE_TIMEOUT, long timeout);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. Causes libcurl to set a \fItimeout\fP period (in seconds) on the
|
||||||
|
amount of time that the server is allowed to take in order to send a response
|
||||||
|
message for a command before the session is considered dead. While libcurl is
|
||||||
|
waiting for a response, this value overrides \fICURLOPT_TIMEOUT(3)\fP. It is
|
||||||
|
recommended that if used in conjunction with \fICURLOPT_TIMEOUT(3)\fP, you set
|
||||||
|
\fICURLOPT_FTP_RESPONSE_TIMEOUT(3)\fP to a value smaller than
|
||||||
|
\fICURLOPT_TIMEOUT(3)\fP.
|
||||||
|
.SH DEFAULT
|
||||||
|
None
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.10.8
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_TIMEOUT "(3), " CURLOPT_CONNECTTIMEOUT "(3), "
|
||||||
|
.BR CURLOPT_LOW_SPEED_LIMIT "(3), "
|
52
docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
Normal file
52
docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_SKIP_PASV_IP 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SKIP_PASV_IP, long skip);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. If \fIskip\fP is set to 1, it instructs libcurl to not use the IP
|
||||||
|
address the server suggests in its 227-response to libcurl's PASV command when
|
||||||
|
libcurl connects the data connection. Instead libcurl will re-use the same IP
|
||||||
|
address it already uses for the control connection. But it will use the port
|
||||||
|
number from the 227-response.
|
||||||
|
|
||||||
|
This option thus allows libcurl to work around broken server installations
|
||||||
|
that due to NATs, firewalls or incompetence report the wrong IP address back.
|
||||||
|
|
||||||
|
This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.14.2
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FTPPORT "(3), " CURLOPT_FTP_USE_EPRT "(3), "
|
54
docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
Normal file
54
docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_SSL_CCC 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SSL_CCC,
|
||||||
|
long how);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
If enabled, this option makes libcurl use CCC (Clear Command Channel). It
|
||||||
|
shuts down the SSL/TLS layer after authenticating. The rest of the control
|
||||||
|
channel communication will be unencrypted. This allows NAT routers to follow
|
||||||
|
the FTP transaction. Pass a long using one of the values below
|
||||||
|
.IP CURLFTPSSL_CCC_NONE
|
||||||
|
Don't attempt to use CCC.
|
||||||
|
.IP CURLFTPSSL_CCC_PASSIVE
|
||||||
|
Do not initiate the shutdown, but wait for the server to do it. Do not send a
|
||||||
|
reply.
|
||||||
|
.IP CURLFTPSSL_CCC_ACTIVE
|
||||||
|
Initiate the shutdown and wait for a reply.
|
||||||
|
.SH DEFAULT
|
||||||
|
CURLFTPSSL_CCC_NONE
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.16.1
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_USE_SSL "(3), " CURLOPT_FTPSSLAUTH "(3), "
|
47
docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
Normal file
47
docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_USE_EPRT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPRT, long enabled);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. If the value is 1, it tells curl to use the EPRT command when
|
||||||
|
doing active FTP downloads (which is enabled by
|
||||||
|
\fICURLOPT_FTPPORT(3)\fP). Using EPRT means that it will first attempt to use
|
||||||
|
EPRT before using PORT, but if you pass zero to this option, it will not try
|
||||||
|
using EPRT, only plain PORT.
|
||||||
|
|
||||||
|
If the server is an IPv6 host, this option will have no effect as EPRT is
|
||||||
|
necessary then.
|
||||||
|
.SH DEFAULT
|
||||||
|
.SH PROTOCOLS
|
||||||
|
.SH EXAMPLE
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.10.5
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FTP_USE_EPSV "(3), " CURLOPT_FTPPORT "(3), "
|
48
docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
Normal file
48
docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_USE_EPSV 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPSV, long epsv);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass \fIepsv\fP as a long. If the value is 1, it tells curl to use the EPSV
|
||||||
|
command when doing passive FTP downloads (which it does by default). Using
|
||||||
|
EPSV means that it will first attempt to use EPSV before using PASV, but if
|
||||||
|
you pass zero to this option, it will not try using EPSV, only plain PASV.
|
||||||
|
|
||||||
|
If the server is an IPv6 host, this option will have no effect as of 7.12.3.
|
||||||
|
.SH DEFAULT
|
||||||
|
1
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Along with FTP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FTP_USE_EPRT "(3), " CURLOPT_FTPPORT "(3), "
|
46
docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
Normal file
46
docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_FTP_USE_PRET 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_FTP_USE_PRET \- enable the PRET command
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_PRET, long enable);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a long. If the value is 1, it tells curl to send a PRET command before
|
||||||
|
PASV (and EPSV). Certain FTP servers, mainly drftpd, require this non-standard
|
||||||
|
command for directory listings as well as up and downloads in PASV mode. Has
|
||||||
|
no effect when using the active FTP transfers mode.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH PROTOCOLS
|
||||||
|
FTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.20.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_FTP_USE_EPRT "(3), " CURLOPT_FTP_USE_EPSV "(3), "
|
48
docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
Normal file
48
docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_GSSAPI_DELEGATION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_GSSAPI_DELEGATION, long level);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Set the long parameter \fIlevel\fP to CURLGSSAPI_DELEGATION_FLAG to allow
|
||||||
|
unconditional GSSAPI credential delegation. The delegation is disabled by
|
||||||
|
default since 7.21.7. Set the parameter to CURLGSSAPI_DELEGATION_POLICY_FLAG
|
||||||
|
to delegate only if the OK-AS-DELEGATE flag is set in the service ticket in
|
||||||
|
case this feature is supported by the GSSAPI implementation and the definition
|
||||||
|
of GSS_C_DELEG_POLICY_FLAG was available at compile-time.
|
||||||
|
.SH DEFAULT
|
||||||
|
CURLGSSAPI_DELEGATION_NONE
|
||||||
|
.SH PROTOCOLS
|
||||||
|
HTTP
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 7.22.0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_HTTPAUTH "(3), " CURLOPT_PROXYAUTH "(3), "
|
46
docs/libcurl/opts/CURLOPT_HEADER.3
Normal file
46
docs/libcurl/opts/CURLOPT_HEADER.3
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_HEADER 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_HEADER \- pass headers to the data stream
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass in \fIonoff\fP set to 1 to tell the library to include the header in the
|
||||||
|
body output for requests with this \fIhandle\fP. This option is relevant for
|
||||||
|
protocols that actually have headers or other meta-data (like HTTP and FTP).
|
||||||
|
|
||||||
|
When asking to get the header info passed to the same callback as the body, it
|
||||||
|
is not possible to accurately separate them again without detailed knowledge
|
||||||
|
about the protocol in use.
|
||||||
|
|
||||||
|
It is often better to use \fICURLOPT_HEADERFUNCTION(3)\fP to get the header
|
||||||
|
data separately.
|
||||||
|
.SH DEFAULT
|
||||||
|
0
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_HEADERFUNCTION "(3), "
|
50
docs/libcurl/opts/CURLOPT_HEADERDATA.3
Normal file
50
docs/libcurl/opts/CURLOPT_HEADERDATA.3
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.\" **************************************************************************
|
||||||
|
.\" * _ _ ____ _
|
||||||
|
.\" * Project ___| | | | _ \| |
|
||||||
|
.\" * / __| | | | |_) | |
|
||||||
|
.\" * | (__| |_| | _ <| |___
|
||||||
|
.\" * \___|\___/|_| \_\_____|
|
||||||
|
.\" *
|
||||||
|
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is licensed as described in the file COPYING, which
|
||||||
|
.\" * you should have received as part of this distribution. The terms
|
||||||
|
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||||
|
.\" *
|
||||||
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
.\" * copies of the Software, and permit persons to whom the Software is
|
||||||
|
.\" * furnished to do so, under the terms of the COPYING file.
|
||||||
|
.\" *
|
||||||
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
.\" * KIND, either express or implied.
|
||||||
|
.\" *
|
||||||
|
.\" **************************************************************************
|
||||||
|
.\"
|
||||||
|
.TH CURLOPT_HEADERDATA 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||||
|
.SH NAME
|
||||||
|
CURLOPT_HEADERDATA \- pointer to pass to header callback
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <curl/curl.h>
|
||||||
|
|
||||||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void *pointer);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Pass a \fIpointer\fP to be used to write the header part of the received data
|
||||||
|
to.
|
||||||
|
|
||||||
|
If \fICURLOPT_WRITEFUNCTION(3)\fP or \fICURLOPT_HEADERFUNCTION(3)\fP is used,
|
||||||
|
\fIpointer\fP will be passed in to the respective callback.
|
||||||
|
|
||||||
|
If neither of those options are set, \fIpointer\fP must be a valid FILE * and
|
||||||
|
it will be used by a plain fwrite() to write headers to.
|
||||||
|
.SH DEFAULT
|
||||||
|
NULL
|
||||||
|
.SH PROTOCOLS
|
||||||
|
All
|
||||||
|
.SH EXAMPLE
|
||||||
|
TODO
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Always
|
||||||
|
.SH RETURN VALUE
|
||||||
|
Returns CURLE_OK
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR CURLOPT_HEADERFUNCTION "(3), " CURLOPT_WRITEFUNCTION "(3), "
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user