Содержание
- 1 Linux use curl command with proxy
- 2 CONNECTION OPTIONS
- 3 DESCRIPTION
- 4 NETWORK OPTIONS
- 5 Cookies with libcurl
- 6 Cookie overview
- 7 NAMES and PASSWORDS OPTIONS (Authentication)
- 8 SSH OPTIONS
- 9 Unix and Linux curl command with proxy syntax
- 10 Cookies saved to disk
- 11 SSL and SECURITY OPTIONS
- 12 FTP OPTIONS
- 13 PROTOCOL OPTIONS
- 14 CALLBACK OPTIONS
- 15 How do I configure and setup curl to permanently use a proxy connection?
Linux use curl command with proxy
First set the http_proxy:
## proxy server, 202.54.1.1, port: 3128, user: foo, password: bar ## export http_proxy=http://foo:bar@202.54.1.1:3128 export https_proxy=$http_proxy ## Use the curl command ## curl -I https://www.cyberciti.biz curl -v -I https://www.cyberciti.biz |
Sample outputs:
* Rebuilt URL to: www.cyberciti.biz/ * Trying 202.54.1.1... * Connected to 1202.54.1.1 (202.54.1.1) port 3128 (#) * Proxy auth using Basic with user 'foo' > HEAD HTTP://www.cyberciti.biz/ HTTP/1.1 > Host: www.cyberciti.biz > Proxy-Authorization: Basic x9VuUml2xm0vdg93MtIz > User-Agent: curl/7.43.0 > Accept: */* > Proxy-Connection: Keep-Alive > < HTTP/1.1 200 OK HTTP/1.1 200 OK < Server: nginx Server: nginx < Date: Sun, 17 Jan 2016 11:49:21 GMT Date: Sun, 17 Jan 2016 11:49:21 GMT < Content-Type: text/html; charset=UTF-8 Content-Type: text/html; charset=UTF-8 < Vary: Accept-Encoding Vary: Accept-Encoding < X-Whom: Dyno-l1-com-cyber X-Whom: Dyno-l1-com-cyber < Vary: Cookie Vary: Cookie < Link: <http://www.cyberciti.biz/wp-json/>; rel="https://api.w.org/" Link: <http://www.cyberciti.biz/wp-json/>; rel="https://api.w.org/" < X-Frame-Options: SAMEORIGIN X-Frame-Options: SAMEORIGIN < X-Content-Type-Options: nosniff X-Content-Type-Options: nosniff < X-XSS-Protection: 1; mode=block X-XSS-Protection: 1; mode=block < X-Cache: MISS from server1 X-Cache: MISS from server1 < X-Cache-Lookup: MISS from server1:3128 X-Cache-Lookup: MISS from server1:3128 < Connection: keep-alive Connection: keep-alive < * Connection # to host 10.12.249.194 left intact |
In this example, I’m downloading a pdf file: OR use the -x option: Sample outputs:
Fig.01: curl in action (click to enlarge)
CONNECTION OPTIONS
CURLOPT_TIMEOUT
Timeout for the entire request. See CURLOPT_TIMEOUT
CURLOPT_TIMEOUT_MS
Millisecond timeout for the entire request. See CURLOPT_TIMEOUT_MS
CURLOPT_LOW_SPEED_LIMIT
Low speed limit to abort transfer. See CURLOPT_LOW_SPEED_LIMIT
CURLOPT_LOW_SPEED_TIME
Time to be below the speed to trigger low speed abort. See CURLOPT_LOW_SPEED_TIME
CURLOPT_MAX_SEND_SPEED_LARGE
Cap the upload speed to this. See CURLOPT_MAX_SEND_SPEED_LARGE
CURLOPT_MAX_RECV_SPEED_LARGE
Cap the download speed to this. See CURLOPT_MAX_RECV_SPEED_LARGE
CURLOPT_MAXCONNECTS
Maximum number of connections in the connection pool. See CURLOPT_MAXCONNECTS
CURLOPT_FRESH_CONNECT
Use a new connection. CURLOPT_FRESH_CONNECT
CURLOPT_FORBID_REUSE
Prevent subsequent connections from re-using this. See CURLOPT_FORBID_REUSE
CURLOPT_MAXAGE_CONN
Limit the age of connections for reuse. See CURLOPT_MAXAGE_CONN
CURLOPT_CONNECTTIMEOUT
Timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT
CURLOPT_CONNECTTIMEOUT_MS
Millisecond timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT_MS
CURLOPT_IPRESOLVE
IP version to resolve to. See CURLOPT_IPRESOLVE
CURLOPT_CONNECT_ONLY
Only connect, nothing else. See CURLOPT_CONNECT_ONLY
CURLOPT_USE_SSL
Use TLS/SSL. See CURLOPT_USE_SSL
CURLOPT_RESOLVE
Provide fixed/fake name resolves. See CURLOPT_RESOLVE
CURLOPT_DNS_INTERFACE
Bind name resolves to this interface. See CURLOPT_DNS_INTERFACE
CURLOPT_DNS_LOCAL_IP4
Bind name resolves to this IP4 address. See CURLOPT_DNS_LOCAL_IP4
CURLOPT_DNS_LOCAL_IP6
Bind name resolves to this IP6 address. See CURLOPT_DNS_LOCAL_IP6
CURLOPT_DNS_SERVERS
Preferred DNS servers. See CURLOPT_DNS_SERVERS
CURLOPT_DNS_SHUFFLE_ADDRESSES
Shuffle addresses before use. See CURLOPT_DNS_SHUFFLE_ADDRESSES
CURLOPT_ACCEPTTIMEOUT_MS
Timeout for waiting for the server’s connect back to be accepted. See CURLOPT_ACCEPTTIMEOUT_MS
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
Timeout for happy eyeballs. See CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
CURLOPT_UPKEEP_INTERVAL_MS
Sets the interval at which connection upkeep are performed. See CURLOPT_UPKEEP_INTERVAL_MS
DESCRIPTION
curl_easy_setopt is used to tell libcurl how to behave. By setting the appropriate options, the application can change libcurl’s behavior. All options are set with an option followed by a parameter. That parameter can be a long, a function pointer, an object pointer or a curl_off_t, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call. A typical application uses many curl_easy_setopt calls in the setup phase.
Options set with this function call are valid for all forthcoming transfers performed using this handle. The options are not in any way reset between transfers, so if you want subsequent transfers with different options, you must change them between the transfers. You can optionally reset all options back to internal default with curl_easy_reset.
Strings passed to libcurl as ‘char *’ arguments, are copied by the library; thus the string storage associated to the pointer argument may be overwritten after curl_easy_setopt returns. The only exception to this rule is really CURLOPT_POSTFIELDS, but the alternative that copies the string CURLOPT_COPYPOSTFIELDS has some usage characteristics you need to read up on.
The order in which the options are set does not matter.
Before version 7.17.0, strings were not copied. Instead the user was forced keep them available until libcurl no longer needed them.
The handle is the return code from a curl_easy_init or curl_easy_duphandle call.
NETWORK OPTIONS
CURLOPT_URL
URL to work on. See CURLOPT_URL
CURLOPT_PATH_AS_IS
Disable squashing /../ and /./ sequences in the path. See CURLOPT_PATH_AS_IS
CURLOPT_PROTOCOLS
Allowed protocols. See CURLOPT_PROTOCOLS
CURLOPT_REDIR_PROTOCOLS
Protocols to allow redirects to. See CURLOPT_REDIR_PROTOCOLS
CURLOPT_DEFAULT_PROTOCOL
Default protocol. See CURLOPT_DEFAULT_PROTOCOL
CURLOPT_PROXY
Proxy to use. See CURLOPT_PROXY
CURLOPT_PRE_PROXY
Socks proxy to use. See CURLOPT_PRE_PROXY
CURLOPT_PROXYPORT
Proxy port to use. See CURLOPT_PROXYPORT
CURLOPT_PROXYTYPE
Proxy type. See CURLOPT_PROXYTYPE
CURLOPT_NOPROXY
Filter out hosts from proxy use. CURLOPT_NOPROXY
CURLOPT_HTTPPROXYTUNNEL
Tunnel through the HTTP proxy. CURLOPT_HTTPPROXYTUNNEL
CURLOPT_CONNECT_TO
Connect to a specific host and port. See CURLOPT_CONNECT_TO
CURLOPT_SOCKS5_AUTH
Socks5 authentication methods. See CURLOPT_SOCKS5_AUTH
CURLOPT_SOCKS5_GSSAPI_SERVICE
Socks5 GSSAPI service name. CURLOPT_SOCKS5_GSSAPI_SERVICE
CURLOPT_SOCKS5_GSSAPI_NEC
Socks5 GSSAPI NEC mode. See CURLOPT_SOCKS5_GSSAPI_NEC
CURLOPT_PROXY_SERVICE_NAME
Proxy authentication service name. CURLOPT_PROXY_SERVICE_NAME
CURLOPT_HAPROXYPROTOCOL
Send an HAProxy PROXY protocol v1 header. See CURLOPT_HAPROXYPROTOCOL
CURLOPT_SERVICE_NAME
Authentication service name. CURLOPT_SERVICE_NAME
CURLOPT_INTERFACE
Bind connection locally to this. See CURLOPT_INTERFACE
CURLOPT_LOCALPORT
Bind connection locally to this port. See CURLOPT_LOCALPORT
CURLOPT_LOCALPORTRANGE
Bind connection locally to port range. See CURLOPT_LOCALPORTRANGE
CURLOPT_DNS_CACHE_TIMEOUT
Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT
CURLOPT_DNS_USE_GLOBAL_CACHE
OBSOLETE Enable global DNS cache. See CURLOPT_DNS_USE_GLOBAL_CACHE
CURLOPT_DOH_URL
Use this DOH server for name resolves. See CURLOPT_DOH_URL
CURLOPT_BUFFERSIZE
Ask for alternate buffer size. See CURLOPT_BUFFERSIZE
CURLOPT_PORT
Port number to connect to. See CURLOPT_PORT
CURLOPT_TCP_FASTOPEN
Enable TFO, TCP Fast Open. See CURLOPT_TCP_FASTOPEN
CURLOPT_TCP_NODELAY
Disable the Nagle algorithm. See CURLOPT_TCP_NODELAY
CURLOPT_ADDRESS_SCOPE
IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE
CURLOPT_TCP_KEEPALIVE
Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE
CURLOPT_TCP_KEEPIDLE
Idle time before sending keep-alive. See CURLOPT_TCP_KEEPIDLE
CURLOPT_TCP_KEEPINTVL
Interval between keep-alive probes. See CURLOPT_TCP_KEEPINTVL
CURLOPT_UNIX_SOCKET_PATH
Path to a Unix domain socket. See CURLOPT_UNIX_SOCKET_PATH
CURLOPT_ABSTRACT_UNIX_SOCKET
Path to an abstract Unix domain socket. See CURLOPT_ABSTRACT_UNIX_SOCKET
Cookies with libcurl
libcurl offers several ways to enable and interface the cookie engine. These options are the ones provided by the native API. libcurl bindings may offer access to them using other means.
Is used when you want to specify the exact contents of a cookie header to send to the server.
Tell libcurl to activate the cookie engine, and to read the initial set of cookies from the given file. Read-only.
Tell libcurl to activate the cookie engine, and when the easy handle is closed save all known cookies to the given cookiejar file. Write-only.
Provide detailed information about a single cookie to add to the internal storage of cookies. Pass in the cookie as a HTTP header with all the details set, or pass in a line from a netscape cookie file. This option can also be used to flush the cookies etc.
Extract cookie information from the internal cookie storage as a linked list.
Cookie overview
Cookies are pairs that a HTTP server tells the client to hold and then the client sends back those to the server on subsequent requests to the same domains and paths for which the cookies were set.
Cookies are either «session cookies» which typically are forgotten when the session is over which is often translated to equal when browser quits, or the cookies aren’t session cookies they have expiration dates after which the client will throw them away.
Cookies are set to the client with the Set-Cookie: header and are sent to servers with the Cookie: header.
For a very long time, the only spec explaining how to use cookies was the original Netscape spec from 1994.
In 2011, RFC6265 was finally published and details how cookies work within HTTP. In 2016, an update which added support for prefixes was proposed, and in 2017, another update was drafted to deprecate modification of ‘secure’ cookies from non-secure origins. Both of these drafts have been incorporated into a proposal to replace RFC6265. Cookie prefixes and secure cookie modification protection has been implemented by curl.
NAMES and PASSWORDS OPTIONS (Authentication)
CURLOPT_NETRC
Enable .netrc parsing. See CURLOPT_NETRC
CURLOPT_NETRC_FILE
.netrc file name. See CURLOPT_NETRC_FILE
CURLOPT_USERPWD
User name and password. See CURLOPT_USERPWD
CURLOPT_PROXYUSERPWD
Proxy user name and password. See CURLOPT_PROXYUSERPWD
CURLOPT_USERNAME
User name. See CURLOPT_USERNAME
CURLOPT_PASSWORD
Password. See CURLOPT_PASSWORD
CURLOPT_LOGIN_OPTIONS
Login options. See CURLOPT_LOGIN_OPTIONS
CURLOPT_PROXYUSERNAME
Proxy user name. See CURLOPT_PROXYUSERNAME
CURLOPT_PROXYPASSWORD
Proxy password. See CURLOPT_PROXYPASSWORD
CURLOPT_HTTPAUTH
HTTP server authentication methods. See CURLOPT_HTTPAUTH
CURLOPT_TLSAUTH_USERNAME
TLS authentication user name. See CURLOPT_TLSAUTH_USERNAME
CURLOPT_PROXY_TLSAUTH_USERNAME
Proxy TLS authentication user name. See CURLOPT_PROXY_TLSAUTH_USERNAME
CURLOPT_TLSAUTH_PASSWORD
TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD
CURLOPT_PROXY_TLSAUTH_PASSWORD
Proxy TLS authentication password. See CURLOPT_PROXY_TLSAUTH_PASSWORD
CURLOPT_TLSAUTH_TYPE
TLS authentication methods. See CURLOPT_TLSAUTH_TYPE
CURLOPT_PROXY_TLSAUTH_TYPE
Proxy TLS authentication methods. See CURLOPT_PROXY_TLSAUTH_TYPE
CURLOPT_PROXYAUTH
HTTP proxy authentication methods. See CURLOPT_PROXYAUTH
CURLOPT_SASL_AUTHZID
SASL authorisation identity (identity to act as). See CURLOPT_SASL_AUTHZID
CURLOPT_SASL_IR
Enable SASL initial response. See CURLOPT_SASL_IR
CURLOPT_XOAUTH2_BEARER
OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER
CURLOPT_DISALLOW_USERNAME_IN_URL
Don’t allow username in URL. See CURLOPT_DISALLOW_USERNAME_IN_URL
SSH OPTIONS
CURLOPT_SSH_AUTH_TYPES
SSH authentication types. See CURLOPT_SSH_AUTH_TYPES
CURLOPT_SSH_COMPRESSION
Enable SSH compression. See CURLOPT_SSH_COMPRESSION
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
MD5 of host’s public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
CURLOPT_SSH_PUBLIC_KEYFILE
File name of public key. See CURLOPT_SSH_PUBLIC_KEYFILE
CURLOPT_SSH_PRIVATE_KEYFILE
File name of private key. See CURLOPT_SSH_PRIVATE_KEYFILE
CURLOPT_SSH_KNOWNHOSTS
File name with known hosts. See CURLOPT_SSH_KNOWNHOSTS
CURLOPT_SSH_KEYFUNCTION
Callback for known hosts handling. See CURLOPT_SSH_KEYFUNCTION
CURLOPT_SSH_KEYDATA
Custom pointer to pass to ssh key callback. See CURLOPT_SSH_KEYDATA
Unix and Linux curl command with proxy syntax
The syntax is:
## Set the proxy address of your uni/company/vpn network ## export http_proxy=http://your-ip-address:port ## http_proxy with username and password export http_proxy=http://user:password@your-proxy-ip-address:port ## HTTPS version ## export https_proxy=https://your-ip-address:port export https_proxy=https://user:password@your-proxy-ip-address:port |
Another option is to pass the -x option to the curl command. To use the specified proxy:
curl -x <protocol://user:password@proxyhost:port> url --proxy <protocol://user:password@proxyhost:port> url --proxy http://user:password@Your-Ip-Here:Port url -x http://user:password@Your-Ip-Here:Port url |
Cookies saved to disk
Netscape once created a file format for storing cookies on disk so that they would survive browser restarts. curl adopted that file format to allow sharing the cookies with browsers, only to see browsers move away from that format. Modern browsers no longer use it, while curl still does.
The netscape cookie file format stores one cookie per physical line in the file with a bunch of associated meta data, each field separated with TAB. That file is called the cookiejar in curl terminology.
When libcurl saves a cookiejar, it creates a file header of its own in which there is a URL mention that will link to the web version of this document.
SSL and SECURITY OPTIONS
CURLOPT_SSLCERT
Client cert. See CURLOPT_SSLCERT
CURLOPT_SSLCERT_BLOB
Client cert memory buffer. See CURLOPT_SSLCERT_BLOB
CURLOPT_PROXY_SSLCERT
Proxy client cert. See CURLOPT_PROXY_SSLCERT
CURLOPT_PROXY_SSLCERT_BLOB
Proxy client cert memory buffer. See CURLOPT_PROXY_SSLCERT_BLOB
CURLOPT_SSLCERTTYPE
Client cert type. See CURLOPT_SSLCERTTYPE
CURLOPT_PROXY_SSLCERTTYPE
Proxy client cert type. See CURLOPT_PROXY_SSLCERTTYPE
CURLOPT_SSLKEY
Client key. See CURLOPT_SSLKEY
CURLOPT_SSLKEY_BLOB
Client key memory buffer. See CURLOPT_SSLKEY_BLOB
CURLOPT_PROXY_SSLKEY
Proxy client key. See CURLOPT_PROXY_SSLKEY
CURLOPT_PROXY_SSLKEY_BLOB
Proxy client key. See CURLOPT_PROXY_SSLKEY_BLOB
CURLOPT_SSLKEYTYPE
Client key type. See CURLOPT_SSLKEYTYPE
CURLOPT_PROXY_SSLKEYTYPE
Proxy client key type. See CURLOPT_PROXY_SSLKEYTYPE
CURLOPT_KEYPASSWD
Client key password. See CURLOPT_KEYPASSWD
CURLOPT_PROXY_KEYPASSWD
Proxy client key password. See CURLOPT_PROXY_KEYPASSWD
CURLOPT_SSL_ENABLE_ALPN
Enable use of ALPN. See CURLOPT_SSL_ENABLE_ALPN
CURLOPT_SSL_ENABLE_NPN
Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN
CURLOPT_SSLENGINE
Use identifier with SSL engine. See CURLOPT_SSLENGINE
CURLOPT_SSLENGINE_DEFAULT
Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT
CURLOPT_SSL_FALSESTART
Enable TLS False Start. See CURLOPT_SSL_FALSESTART
CURLOPT_SSLVERSION
SSL version to use. See CURLOPT_SSLVERSION
CURLOPT_PROXY_SSLVERSION
Proxy SSL version to use. See CURLOPT_PROXY_SSLVERSION
CURLOPT_SSL_VERIFYHOST
Verify the host name in the SSL certificate. See CURLOPT_SSL_VERIFYHOST
CURLOPT_PROXY_SSL_VERIFYHOST
Verify the host name in the proxy SSL certificate. See CURLOPT_PROXY_SSL_VERIFYHOST
CURLOPT_SSL_VERIFYPEER
Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER
CURLOPT_PROXY_SSL_VERIFYPEER
Verify the proxy SSL certificate. See CURLOPT_PROXY_SSL_VERIFYPEER
CURLOPT_SSL_VERIFYSTATUS
Verify the SSL certificate’s status. See CURLOPT_SSL_VERIFYSTATUS
CURLOPT_CAINFO
CA cert bundle. See CURLOPT_CAINFO
CURLOPT_PROXY_CAINFO
Proxy CA cert bundle. See CURLOPT_PROXY_CAINFO
CURLOPT_ISSUERCERT
Issuer certificate. See CURLOPT_ISSUERCERT
CURLOPT_ISSUERCERT_BLOB
Issuer certificate memory buffer. See CURLOPT_ISSUERCERT_BLOB
CURLOPT_PROXY_ISSUERCERT
Proxy issuer certificate. See CURLOPT_PROXY_ISSUERCERT
CURLOPT_PROXY_ISSUERCERT_BLOB
Proxy issuer certificate memory buffer. See CURLOPT_PROXY_ISSUERCERT_BLOB
CURLOPT_CAPATH
Path to CA cert bundle. See CURLOPT_CAPATH
CURLOPT_PROXY_CAPATH
Path to proxy CA cert bundle. See CURLOPT_PROXY_CAPATH
CURLOPT_CRLFILE
Certificate Revocation List. See CURLOPT_CRLFILE
CURLOPT_PROXY_CRLFILE
Proxy Certificate Revocation List. See CURLOPT_PROXY_CRLFILE
CURLOPT_CERTINFO
Extract certificate info. See CURLOPT_CERTINFO
CURLOPT_PINNEDPUBLICKEY
Set pinned SSL public key . See CURLOPT_PINNEDPUBLICKEY
CURLOPT_PROXY_PINNEDPUBLICKEY
Set the proxy’s pinned SSL public key. See CURLOPT_PROXY_PINNEDPUBLICKEY
CURLOPT_RANDOM_FILE
Provide source for entropy random data. See CURLOPT_RANDOM_FILE
CURLOPT_EGDSOCKET
Identify EGD socket for entropy. See CURLOPT_EGDSOCKET
CURLOPT_SSL_CIPHER_LIST
Ciphers to use. See CURLOPT_SSL_CIPHER_LIST
CURLOPT_PROXY_SSL_CIPHER_LIST
Proxy ciphers to use. See CURLOPT_PROXY_SSL_CIPHER_LIST
CURLOPT_TLS13_CIPHERS
TLS 1.3 cipher suites to use. See CURLOPT_TLS13_CIPHERS
CURLOPT_PROXY_TLS13_CIPHERS
Proxy TLS 1.3 cipher suites to use. See CURLOPT_PROXY_TLS13_CIPHERS
CURLOPT_SSL_SESSIONID_CACHE
Disable SSL session-id cache. See CURLOPT_SSL_SESSIONID_CACHE
CURLOPT_SSL_OPTIONS
Control SSL behavior. See CURLOPT_SSL_OPTIONS
CURLOPT_PROXY_SSL_OPTIONS
Control proxy SSL behavior. See CURLOPT_PROXY_SSL_OPTIONS
CURLOPT_KRBLEVEL
Kerberos security level. See CURLOPT_KRBLEVEL
CURLOPT_GSSAPI_DELEGATION
Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION
FTP OPTIONS
CURLOPT_FTPPORT
Use active FTP. See CURLOPT_FTPPORT
CURLOPT_QUOTE
Commands to run before transfer. See CURLOPT_QUOTE
CURLOPT_POSTQUOTE
Commands to run after transfer. See CURLOPT_POSTQUOTE
CURLOPT_PREQUOTE
Commands to run just before transfer. See CURLOPT_PREQUOTE
CURLOPT_APPEND
Append to remote file. See CURLOPT_APPEND
CURLOPT_FTP_USE_EPRT
Use EPTR. See CURLOPT_FTP_USE_EPRT
CURLOPT_FTP_USE_EPSV
Use EPSV. See CURLOPT_FTP_USE_EPSV
CURLOPT_FTP_USE_PRET
Use PRET. See CURLOPT_FTP_USE_PRET
CURLOPT_FTP_CREATE_MISSING_DIRS
Create missing directories on the remote server. See CURLOPT_FTP_CREATE_MISSING_DIRS
CURLOPT_FTP_RESPONSE_TIMEOUT
Timeout for FTP responses. See CURLOPT_FTP_RESPONSE_TIMEOUT
CURLOPT_FTP_ALTERNATIVE_TO_USER
Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER
CURLOPT_FTP_SKIP_PASV_IP
Ignore the IP address in the PASV response. See CURLOPT_FTP_SKIP_PASV_IP
CURLOPT_FTPSSLAUTH
Control how to do TLS. See CURLOPT_FTPSSLAUTH
CURLOPT_FTP_SSL_CCC
Back to non-TLS again after authentication. See CURLOPT_FTP_SSL_CCC
CURLOPT_FTP_ACCOUNT
Send ACCT command. See CURLOPT_FTP_ACCOUNT
CURLOPT_FTP_FILEMETHOD
Specify how to reach files. See CURLOPT_FTP_FILEMETHOD
PROTOCOL OPTIONS
CURLOPT_TRANSFERTEXT
Use text transfer. See CURLOPT_TRANSFERTEXT
CURLOPT_PROXY_TRANSFER_MODE
Add transfer mode to URL over proxy. See CURLOPT_PROXY_TRANSFER_MODE
CURLOPT_CRLF
Convert newlines. See CURLOPT_CRLF
CURLOPT_RANGE
Range requests. See CURLOPT_RANGE
CURLOPT_RESUME_FROM
Resume a transfer. See CURLOPT_RESUME_FROM
CURLOPT_RESUME_FROM_LARGE
Resume a transfer. See CURLOPT_RESUME_FROM_LARGE
CURLOPT_CURLU
Set URL to work on with CURLU *. See CURLOPT_CURLU
CURLOPT_CUSTOMREQUEST
Custom request/method. See CURLOPT_CUSTOMREQUEST
CURLOPT_FILETIME
Request file modification date and time. See CURLOPT_FILETIME
CURLOPT_DIRLISTONLY
List only. See CURLOPT_DIRLISTONLY
CURLOPT_NOBODY
Do not get the body contents. See CURLOPT_NOBODY
CURLOPT_INFILESIZE
Size of file to send. CURLOPT_INFILESIZE
CURLOPT_INFILESIZE_LARGE
Size of file to send. CURLOPT_INFILESIZE_LARGE
CURLOPT_UPLOAD
Upload data. See CURLOPT_UPLOAD
CURLOPT_UPLOAD_BUFFERSIZE
Set upload buffer size. See CURLOPT_UPLOAD_BUFFERSIZE
CURLOPT_MIMEPOST
Post/send MIME data. See CURLOPT_MIMEPOST
CURLOPT_MAXFILESIZE
Maximum file size to get. See CURLOPT_MAXFILESIZE
CURLOPT_MAXFILESIZE_LARGE
Maximum file size to get. See CURLOPT_MAXFILESIZE_LARGE
CURLOPT_TIMECONDITION
Make a time conditional request. See CURLOPT_TIMECONDITION
CURLOPT_TIMEVALUE
Time value for the time conditional request. See CURLOPT_TIMEVALUE
CURLOPT_TIMEVALUE_LARGE
Time value for the time conditional request. See CURLOPT_TIMEVALUE_LARGE
CALLBACK OPTIONS
CURLOPT_WRITEFUNCTION
Callback for writing data. See CURLOPT_WRITEFUNCTION
CURLOPT_WRITEDATA
Data pointer to pass to the write callback. See CURLOPT_WRITEDATA
CURLOPT_READFUNCTION
Callback for reading data. See CURLOPT_READFUNCTION
CURLOPT_READDATA
Data pointer to pass to the read callback. See CURLOPT_READDATA
CURLOPT_IOCTLFUNCTION
Callback for I/O operations. See CURLOPT_IOCTLFUNCTION
CURLOPT_IOCTLDATA
Data pointer to pass to the I/O callback. See CURLOPT_IOCTLDATA
CURLOPT_SEEKFUNCTION
Callback for seek operations. See CURLOPT_SEEKFUNCTION
CURLOPT_SEEKDATA
Data pointer to pass to the seek callback. See CURLOPT_SEEKDATA
CURLOPT_SOCKOPTFUNCTION
Callback for sockopt operations. See CURLOPT_SOCKOPTFUNCTION
CURLOPT_SOCKOPTDATA
Data pointer to pass to the sockopt callback. See CURLOPT_SOCKOPTDATA
CURLOPT_OPENSOCKETFUNCTION
Callback for socket creation. See CURLOPT_OPENSOCKETFUNCTION
CURLOPT_OPENSOCKETDATA
Data pointer to pass to the open socket callback. See CURLOPT_OPENSOCKETDATA
CURLOPT_CLOSESOCKETFUNCTION
Callback for closing socket. See CURLOPT_CLOSESOCKETFUNCTION
CURLOPT_CLOSESOCKETDATA
Data pointer to pass to the close socket callback. See CURLOPT_CLOSESOCKETDATA
CURLOPT_PROGRESSFUNCTION
OBSOLETE callback for progress meter. See CURLOPT_PROGRESSFUNCTION
CURLOPT_PROGRESSDATA
Data pointer to pass to the progress meter callback. See CURLOPT_PROGRESSDATA
CURLOPT_XFERINFOFUNCTION
Callback for progress meter. See CURLOPT_XFERINFOFUNCTION
CURLOPT_XFERINFODATA
Data pointer to pass to the progress meter callback. See CURLOPT_XFERINFODATA
CURLOPT_HEADERFUNCTION
Callback for writing received headers. See CURLOPT_HEADERFUNCTION
CURLOPT_HEADERDATA
Data pointer to pass to the header callback. See CURLOPT_HEADERDATA
CURLOPT_DEBUGFUNCTION
Callback for debug information. See CURLOPT_DEBUGFUNCTION
CURLOPT_DEBUGDATA
Data pointer to pass to the debug callback. See CURLOPT_DEBUGDATA
CURLOPT_SSL_CTX_FUNCTION
Callback for SSL context logic. See CURLOPT_SSL_CTX_FUNCTION
CURLOPT_SSL_CTX_DATA
Data pointer to pass to the SSL context callback. See CURLOPT_SSL_CTX_DATA
CURLOPT_CONV_TO_NETWORK_FUNCTION
Callback for code base conversion. See CURLOPT_CONV_TO_NETWORK_FUNCTION
CURLOPT_CONV_FROM_NETWORK_FUNCTION
Callback for code base conversion. See CURLOPT_CONV_FROM_NETWORK_FUNCTION
CURLOPT_CONV_FROM_UTF8_FUNCTION
Callback for code base conversion. See CURLOPT_CONV_FROM_UTF8_FUNCTION
CURLOPT_INTERLEAVEFUNCTION
Callback for RTSP interleaved data. See CURLOPT_INTERLEAVEFUNCTION
CURLOPT_INTERLEAVEDATA
Data pointer to pass to the RTSP interleave callback. See CURLOPT_INTERLEAVEDATA
CURLOPT_CHUNK_BGN_FUNCTION
Callback for wildcard download start of chunk. See CURLOPT_CHUNK_BGN_FUNCTION
CURLOPT_CHUNK_END_FUNCTION
Callback for wildcard download end of chunk. See CURLOPT_CHUNK_END_FUNCTION
CURLOPT_CHUNK_DATA
Data pointer to pass to the chunk callbacks. See CURLOPT_CHUNK_DATA
CURLOPT_FNMATCH_FUNCTION
Callback for wildcard matching. See CURLOPT_FNMATCH_FUNCTION
CURLOPT_FNMATCH_DATA
Data pointer to pass to the wildcard matching callback. See CURLOPT_FNMATCH_DATA
CURLOPT_SUPPRESS_CONNECT_HEADERS
Suppress proxy CONNECT response headers from user callbacks. See CURLOPT_SUPPRESS_CONNECT_HEADERS
CURLOPT_RESOLVER_START_FUNCTION
Callback to be called before a new resolve request is started. See CURLOPT_RESOLVER_START_FUNCTION
CURLOPT_RESOLVER_START_DATA
Data pointer to pass to resolver start callback. See CURLOPT_RESOLVER_START_DATA
How do I configure and setup curl to permanently use a proxy connection?
Update/edit your ~/.curlrc file using a text editor such as vim: Append the following:
proxy = server1.cyberciti.biz:3128 proxy-user = "foo:bar" |
Save and close the file. Another option is create a bash shell alias in your ~/.bashrc file:
## alias for curl command ## set proxy-server and port, the syntax is ## alias curl="curl -x {your_proxy_host}:{proxy_port}" alias curl="curl -x server1.cyberciti.biz:3128" |
Remember, the proxy string can be specified with a protocol:// prefix to specify alternative proxy protocols. Use socks4://, socks4a://, socks5:// or socks5h:// to request the specific SOCKS version to be used. No protocol specified, http:// and all others will be treated as HTTP proxies. If the port number is not specified in the proxy string, it is assumed to be 1080. The -x option overrides existing environment variables that set the proxy to use. If there’s an environment variable setting a proxy, you can set proxy to “” to override it. See curl command man page here for more info.
С этим читают
- What is curl.exe?
- Виды SSL-сертификатов
- Использование cookie в php
- Как конвертировать ssl-сертификат в нужный формат
- Базовая работа с php curl: get, post, json, headers
- Getting started with python requests — get requests
- Что такое ssh
- Как сбросить пароль root для mysql или mariadb
- Python write file/ read file
- Basic ssh (putty) commands