代码之家  ›  专栏  ›  技术社区  ›  Eugene

默认卷曲选项值

  •  13
  • Eugene  · 技术社区  · 15 年前


    有谁能告诉我在哪里可以找到,或者我如何输出它们?

    附言: 如果有可能的话。

    4 回复  |  直到 15 年前
        1
  •  16
  •   Community Mohan Dere    9 年前

    我今天一直在研究同一个问题,遇到了这个(相当老的)帖子。因为它几乎出现在谷歌的顶端,我想这是结束我的研究的地方。

    For example , timeouts . Or the user agent . 但其他许多公司确实存在违约,比如 PHP manual 国家。我找不到任何默认值列表,PHP的cURL扩展和cURL都没有。只有在上述PHP手册或 cURL API doc . 但是,我怀疑这些页面中提到的每一个默认值。

    不幸的是,也不可能通过编程的方式找到它们。这样做的目的是在设置第一个选项之前找出所有选项的值。但是 there is no curl_getopt() 只能检索手动设置的选项。

    在对cURL源代码(最初的C库)进行了一个(非常)简短的浏览之后,我还怀疑有时没有真正的默认值,但是如果没有设置选项,那么一些逻辑会去计算应该使用哪个值。在这种情况下,默认值甚至不会被很好地定义。

    因此,除非某个cURL开发人员对此有所了解,或者至少有人有时间和技能真正深入到代码中去,否则我们在这个问题上几乎陷入了困境。

        2
  •  3
  •   newfurniturey    9 年前

    而PHP文档 curl_setopt()

    您可以在 ext/curl/interface.c _php_curl_set_default_options(php_curl *ch) .

    在当前时间,默认选项+值为:

    // "value" options
    CURLOPT_NOPROGRESS              => 1
    CURLOPT_VERBOSE                 => 0
    CURLOPT_DNS_CACHE_TIMEOUT       => 120
    CURLOPT_MAXREDIRS               => 20
    
    // callback functions
    CURLOPT_WRITEFUNCTION           => curl_write
    CURLOPT_READFUNCTION            => curl_read
    CURLOPT_HEADERFUNCTION          => curl_write_header
    
    // file/stream references
    CURLOPT_INFILE                  => (void *)ch
    CURLOPT_FILE                    => (void *)ch
    CURLOPT_WRITEHEADER             => (void *)ch
    CURLOPT_ERRORBUFFER             => ch->err.str
    
    // If ZTS (Zend Thread Safety) *is* enabled
    CURLOPT_NOSIGNAL                => 1
    
    // If ZTS (Zend Thread Safety) *is not* enabled
    CURLOPT_DNS_USE_GLOBAL_CACHE    => 1
    
    // OpenSSL CA File (`cainfo` = either in openssl.cafile, curl.cainfo or it doesn't exist)
    // note: if the file doesn't exist, this option isn't set
    CURLOPT_CAINFO                  => cainfo
    

    *注:php文档 提到它设置了 CURLOPT_NOPROGRESS :

    真的 ,这只应为调试目的更改。

    curl_easy_setopt() . 前者对每一个都作了非常详细的描述,后者则作了一般性的总结。两者都列出了不设置选项的curl的默认行为。

        3
  •  1
  •   GZipp    15 年前

    foreach (get_defined_constants() as $name => $val) {
        if (strpos($name, 'CURL') === 0) {
            echo $name . ' => ' . $val . "\n";
        }
    }
    

    当然,对于curl选项值,将curl改为CURLOPT。

    (如果您想在脚本中使用整数值而不是常量名称,则不应该这样做。)

        4
  •  -1
  •   William Entriken    9 年前

    CURLOPT 要编辑的配置选项:

    foreach (get_defined_constants() as $key => $val) {
        if (strpos($key, 'CURLOPT_') === 0) {
            echo $key . ' => ' . $val . "\n";
        }
    }
    

    以下是我在CentOS 7上安装PHP5.6.30时的默认PHPCcurl设置:

    • CURLOPT_AUTOREFERER
    • CURLOPT_BINARYTRANSFER 19914年
    • CURLOPT_BUFFERSIZE 98个
    • CURLOPT_CAINFO 10065个
    • CURLOPT_CAPATH
    • CURLOPT_CONNECTTIMEOUT 78个
    • CURLOPT_COOKIE 10022年
    • CURLOPT_COOKIEFILE 10031个
    • CURLOPT_COOKIEJAR 10082个
    • CURLOPT_COOKIESESSION 96个
    • CURLOPT_CRLF 27个
    • CURLOPT_CUSTOMREQUEST
    • CURLOPT_DNS_CACHE_TIMEOUT 92个
    • CURLOPT_DNS_USE_GLOBAL_CACHE 91个
    • CURLOPT_EGDSOCKET
    • CURLOPT_ENCODING 10102个
    • CURLOPT_FAILONERROR
    • CURLOPT_FILE 10001个
    • CURLOPT_FILETIME 69个
    • CURLOPT_FOLLOWLOCATION
    • CURLOPT_FORBID_REUSE 75个
    • CURLOPT_FRESH_CONNECT
    • CURLOPT_FTPAPPEND 50个
    • CURLOPT_FTPLISTONLY
    • CURLOPT_FTPPORT 10017个
    • CURLOPT_FTP_USE_EPRT
    • CURLOPT_FTP_USE_EPSV 85个
    • CURLOPT_HEADER 42个
    • CURLOPT_HEADERFUNCTION 20079年
    • CURLOPT_HTTP200ALIASES 10104个
    • CURLOPT_HTTPGET
    • CURLOPT_HTTPHEADER 10023年
    • CURLOPT_HTTPPROXYTUNNEL
    • CURLOPT_HTTP_VERSION 84个
    • CURLOPT_INFILE
    • CURLOPT_INFILESIZE 14个
    • CURLOPT_INTERFACE 10062个
    • CURLOPT_KRB4LEVEL 10063个
    • CURLOPT_LOW_SPEED_LIMIT
    • CURLOPT_LOW_SPEED_TIME 20个
    • CURLOPT_MAXCONNECTS 71个
    • CURLOPT_MAXREDIRS 68个
    • CURLOPT_NETRC
    • CURLOPT_NOBODY 44个
    • CURLOPT_NOPROGRESS 43个
    • CURLOPT_NOSIGNAL
    • CURLOPT_PORT
    • CURLOPT_POST 47个
    • CURLOPT_POSTFIELDS
    • CURLOPT_POSTQUOTE 10039个
    • CURLOPT_PREQUOTE
    • CURLOPT_PRIVATE 10103年
    • CURLOPT_PROGRESSFUNCTION 20056年
    • CURLOPT_PROXY
    • CURLOPT_PROXYPORT 59个
    • CURLOPT_PROXYTYPE 101个
    • CURLOPT_PROXYUSERPWD 10006个
    • CURLOPT_PUT
    • CURLOPT_QUOTE 10028年
    • CURLOPT_RANDOM_FILE 10076个
    • CURLOPT_RANGE
    • CURLOPT_READDATA 10009年
    • CURLOPT_READFUNCTION 2001年12月
    • CURLOPT_REFERER
    • CURLOPT_RESUME_FROM
    • CURLOPT_RETURNTRANSFER 19913年
    • CURLOPT_SHARE 10100个
    • CURLOPT_SSLCERT
    • CURLOPT_SSLCERTPASSWD 10026年
    • CURLOPT_SSLCERTTYPE
    • CURLOPT_SSLENGINE 10089个
    • CURLOPT_SSLENGINE_DEFAULT 90个
    • CURLOPT_SSLKEY 10087个
    • CURLOPT_SSLKEYPASSWD
    • CURLOPT_SSLKEYTYPE 10088个
    • CURLOPT_SSLVERSION 32个
    • CURLOPT_SSL_CIPHER_LIST
    • CURLOPT_SSL_VERIFYHOST 81个
    • CURLOPT_SSL_VERIFYPEER 64个
    • CURLOPT_STDERR
    • CURLOPT_TELNETOPTIONS 10070个
    • CURLOPT_TIMECONDITION 33个
    • CURLOPT_TIMEOUT 13个
    • CURLOPT_TIMEVALUE 34个
    • CURLOPT_TRANSFERTEXT
    • CURLOPT_UNRESTRICTED_AUTH
    • CURLOPT_UPLOAD 46个
    • CURLOPT_URL 10002个
    • CURLOPT_USERAGENT
    • CURLOPT_USERPWD 10005年
    • CURLOPT_VERBOSE
    • CURLOPT_WRITEFUNCTION 2001年
    • CURLOPT_WRITEHEADER 10029年
    • CURLOPT_HTTPAUTH 107个
    • CURLOPT_FTP_CREATE_MISSING_DIRS 110个
    • CURLOPT_PROXYAUTH
    • CURLOPT_FTP_RESPONSE_TIMEOUT 112个
    • CURLOPT_IPRESOLVE 113个
    • CURLOPT_MAXFILESIZE
    • CURLOPT_FTP_SSL 119个
    • CURLOPT_NETRC_FILE 10118个
    • CURLOPT_FTPSSLAUTH 129个
    • CURLOPT_FTP_ACCOUNT 10134个
    • CURLOPT_TCP_NODELAY 121个
    • CURLOPT_COOKIELIST
    • CURLOPT_IGNORE_CONTENT_LENGTH 136个
    • CURLOPT_FTP_SKIP_PASV_IP
    • CURLOPT_FTP_FILEMETHOD 138个
    • CURLOPT_CONNECT_ONLY 141个
    • CURLOPT_LOCALPORT
    • CURLOPT_LOCALPORTRANGE
    • CURLOPT_FTP_ALTERNATIVE_TO_USER 10147个
    • CURLOPT_MAX_RECV_SPEED_LARGE
    • CURLOPT_MAX_SEND_SPEED_LARGE 30145个
    • CURLOPT_SSL_SESSIONID_CACHE 150个
    • CURLOPT_FTP_SSL_CCC
    • CURLOPT_SSH_AUTH_TYPES 151个
    • CURLOPT_SSH_PRIVATE_KEYFILE
    • CURLOPT_SSH_PUBLIC_KEYFILE 10152个
    • CURLOPT_CONNECTTIMEOUT_MS
    • CURLOPT_HTTP_CONTENT_DECODING 158个
    • CURLOPT_HTTP_TRANSFER_DECODING 157个
    • CURLOPT_TIMEOUT_MS 155个
    • CURLOPT_KRBLEVEL 10063个
    • CURLOPT_NEW_DIRECTORY_PERMS 160个
    • CURLOPT_NEW_FILE_PERMS
    • CURLOPT_APPEND
    • CURLOPT_DIRLISTONLY 48个
    • CURLOPT_USE_SSL 119个
    • CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 10162个
    • CURLOPT_PROXY_TRANSFER_MODE 166个
    • CURLOPT_ADDRESS_SCOPE 171个
    • CURLOPT_CRLFILE 10169个
    • CURLOPT_ISSUERCERT
    • CURLOPT_KEYPASSWD 10026年
    • CURLOPT_CERTINFO 172个
    • CURLOPT_PASSWORD 10174个
    • CURLOPT_POSTREDIR 161个
    • CURLOPT_PROXYPASSWORD
    • CURLOPT_PROXYUSERNAME 10175个
    • CURLOPT_USERNAME 10173个
    • CURLOPT_NOPROXY 10177个
    • CURLOPT_PROTOCOLS 181
    • CURLOPT_REDIR_PROTOCOLS 182个
    • CURLOPT_SOCKS5_GSSAPI_NEC 180
    • CURLOPT_SOCKS5_GSSAPI_SERVICE 10179个
    • CURLOPT_TFTP_BLKSIZE
    • CURLOPT_SSH_KNOWNHOSTS 10183个
    • CURLOPT_FTP_USE_PRET 188
    • CURLOPT_MAIL_FROM
    • CURLOPT_MAIL_RCPT 10187个
    • CURLOPT_RTSP_CLIENT_CSEQ 193年
    • CURLOPT_RTSP_REQUEST
    • CURLOPT_RTSP_SERVER_CSEQ
    • CURLOPT_RTSP_SESSION_ID
    • CURLOPT_RTSP_STREAM_URI
    • CURLOPT_RTSP_TRANSPORT 10192个
    • CURLOPT_FNMATCH_FUNCTION 20200个
    • CURLOPT_WILDCARDMATCH
    • CURLOPT_RESOLVE 10203年
    • CURLOPT_TLSAUTH_PASSWORD 10205年
    • CURLOPT_TLSAUTH_TYPE 10206年
    • CURLOPT_TLSAUTH_USERNAME 10204个
    • CURLOPT_ACCEPT_ENCODING
    • CURLOPT_TRANSFER_ENCODING 207个
    • CURLOPT_GSSAPI_DELEGATION 210个
    • CURLOPT_ACCEPTTIMEOUT_MS 212个
    • CURLOPT_DNS_SERVERS
    • CURLOPT_MAIL_AUTH
    • CURLOPT_SSL_OPTIONS 216个
    • CURLOPT_TCP_KEEPALIVE 213个
    • CURLOPT_TCP_KEEPIDLE 214个
    • CURLOPT_TCP_KEEPINTVL
    • CURLOPT_SAFE_UPLOAD -1个