久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

python中使用pycurl抓取https鏈接,及pycurl的參數(shù)設置

 緣夢書摘 2014-11-24




pycurl 可以用在http和https上,。


def headerCookie(buf):

    print buf

def getEnterRandCode():#從12360得到登錄驗證碼

    #得到登錄驗證碼圖

    curl = pycurl.Curl()

    f = StringIO.StringIO()

    curl.setopt(pycurl.URL, "https://www.12306.cn/otsweb/passCodeAction.do?rand=sjrand")

    curl.setopt(pycurl.WRITEFUNCTION, f.write)

    curl.setopt(pycurl.SSL_VERIFYPEER, 0)

    curl.setopt(pycurl.SSL_VERIFYHOST, 0)

    curl.setopt(pycurl.HEADERFUNCTION, headerCookie)

    curl.setopt(pycurl.COOKIE,Cookie)

    curl.perform()

    backinfo = ''

    if curl.getinfo(pycurl.RESPONSE_CODE) == 200:

        backinfo = f.getvalue()

    curl.close()

    return backinfo

從上面可以得知,,pycurl鏈接的大至流程


curl.setopt()#設置發(fā)送的數(shù)據(jù)參數(shù)


CURLOPT_WRITEFUNCTION: 寫(下載)回傳函數(shù),傳遞一個寫指針供外部操作, 一次回調(diào)內(nèi)容大小在
CURL_MAX_WRITE_SIZE (curl.h頭文件)中設置

CURLOPT_WRITEDATA: 直接寫文件,指定一個文件名如c.setopt(pycurl.WRITEDATA,
'E:\WebSite\py\1.txt') 注win下不能用

CURLOPT_READFUNCTION: 讀(上傳)回傳函數(shù)

CURLOPT_SEEKFUNCTION: 數(shù)據(jù)指針移動,int function(void *instream,
curl_off_t offset, int origin);SEEK_SET, SEEK_CUR and
SEEK_END,返回CURL_SEEKFUNC_OK或CURL_SEEKFUNC_FAIL或CURL_SEEKFUNC_CANTSEEK
(0,1,2)

CURLOPT_OPENSOCKETFUNCTION:

CURLOPT_HEADERFUNCTION:只接收頭數(shù)據(jù) size_t function( void *ptr, size_t
size, size_t nmemb, void *userdata);

CURLOPT_DEBUGFUNCTION: int curl_debug_callback (CURL *,
curl_infotype, char *, size_t, void *);

CURLOPT_VERBOSE: 參數(shù)設置為1 能顯示更多詳細信息

CURLOPT_HEADER: 設為 1 將在返回的文本中包含頭信息

CURLOPT_NOSIGNAL: 不超時

CURLOPT_FOLLOWLOCATION:設置為1告訴libcurl遵循任何訪問

CURLOPT_MAXREDIRS: 設定重定向的數(shù)目限制,設置為-1表示無限的重定向(默認)

CURLOPT_PUT:數(shù)據(jù)上載相關

CURLOPT_POST:

CURLOPT_POSTREDIR:

CURLOPT_POSTFIELDS:

CURLOPT_POSTFIELDSIZE:

CURLOPT_POSTFIELDSIZE_LARGE:

CURLOPT_COPYPOSTFIELDS:

CURLOPT_HTTPPOST:

CURLOPT_UPLOAD:

CURLOPT_AUTOREFERER:libcurl自動設置Referer

CURLOPT_REFERER: 偽造來源路徑

CURLOPT_USERAGENT:自定義USERAGENT

CURLOPT_HTTPHEADER:自定義頭

CURLOPT_COOKIE: "name1=content1; name2=content2;"

CURLOPT_COOKIEFILE:

CURLOPT_COOKIEJAR:

CURLOPT_COOKIESESSION: 默認情況下,libcurl始終加載和存儲所有Cookie

CURLOPT_COOKIELIST

CURLOPT_HTTPGET

CURLOPT_HTTP_VERSION:
CURL_HTTP_VERSION_NONE,CURL_HTTP_VERSION_1_0,CURL_HTTP_VERSION_1_1

CURLOPT_IGNORE_CONTENT_LENGTH:忽略內(nèi)容長度頭,針對類似Apache 1.x的服務器

CURLOPT_HTTP_TRANSFER_DECODING:告訴libcurl如何對傳輸解碼,(0,=1)

CURLOPT_HTTP200ALIASES:自定義HTTP 200響應別名,有些服務器對200返回不是標準的

CURLOPT_ENCODING:設置接收的內(nèi)容編碼,同 Accept-Encoding, ('','gzip',....)

CURLOPT_UNRESTRICTED_AUTH:數(shù)設置為1,繼續(xù)發(fā)送認證(用戶+密碼)

NETWORK OPTIONS

CURLOPT_URL: ,ftp://xxxx

CURLOPT_PROXY:HTTP代理,主機名或IP地址

CURLOPT_PROXYPORT:代理端口,也可在PROXY的地址后加":端口",如 :8080

CURLOPT_PROXYTYPE:代理類型,CURLPROXY_HTTP(默認),
CURLPROXY_HTTP_1_0,CURLPROXY_SOCKS4,CURLPROXY_SOCKS5,CURLPROXY_SOCKS4A,CURLPROXY_SOCKS5_HOSTNAME,

CURLOPT_NOPROXY:不使用代理的域

CURLOPT_HTTPPROXYTUNNEL:

CURLOPT_BUFFERSIZE: libcurl的緩沖區(qū)大?。ㄒ宰止?jié)為單位)

(認證)

CURLOPT_NETRC: 此參數(shù)控制你的密碼,CURL_NETRC_OPTIONAL使用 ~/.netrc 文件,
CURL_NETRC_IGNORED(默認):忽略文件,CURL_NETRC_REQUIRED:告訴該文件的使用所需的庫,,要忽略的URL信息

CURLOPT_NETRC_FILE: 指定 ~/.netrc 文件

CURLOPT_USERNAME:

CURLOPT_USERPWD:

CURLOPT_PASSWORD:

CURLOPT_PROXYUSERNAME:

CURLOPT_PROXYUSERPWD:

CURLOPT_HTTPAUTH:

CURLOPT_PROXYAUTH:


    CURLAUTH_BASIC: HTTP基本驗證

    CURLAUTH_DIGEST: HTTP摘要身份驗證

    CURLAUTH_DIGEST_IE:

    CURLAUTH_GSSNEGOTIATE: Kerberos5認證 要建立GSS -
API

    CURLAUTH_NTLM: NTLM身份驗證

    CURLAUTH_ANY:
設置所有選項,ibcurl自動選擇一個它認為合適的,安全的驗證<

    CURLAUTH_ANYSAFE: 設置基本選項....



    CURLAUTH_ONLY: 強制所有請求使用驗證


    curl.setopt(pycurl.HTTPHEADER,["x-requested-with:XMLHttpRequest",

                                   "Accept:text/plain, */*",

                                   "Referer:https://dynamic.12306.cn/otsweb/order/querySingleAction.do?method=init"])

    #這是https頭

    curl.setopt(pycurl.POSTFIELDS,senddata)這里是自己定義的發(fā)送數(shù)據(jù)

getinfo


CURLINFO_RESPONSE_CODE: 獲得最后收到的HTTP或FTP的代碼,如200,404,403,505
代理的CONNECT響應要參考 CURLINFO_HTTP_CONNECTCODE

CURLINFO_EFFECTIVE_URL: 最后一次使用有效的URL

CURLINFO_HTTP_CONNECTCODE : 長期接受最后收到的代理響應代碼

CURLINFO_FILETIME:

CURLINFO_TOTAL_TIME:

CURLINFO_CONNECT_TIME:

CURLINFO_NUM_CONNECTS: 多少個連接

CURLINFO_CONTENT_TYPE: 例:textml

CURLINFO_REQUEST_SIZE:

CURLINFO_HEADER_SIZE:

CURLINFO_SIZE_DOWNLOAD: 下載總字節(jié)量

CURLINFO_SIZE_UPLOAD:

CURLINFO_HTTPAUTH_AVAIL: 接收掩碼表明身份驗證

CURLINFO_PROXYAUTH_AVAIL: 接收掩碼表明代理身份驗證

CURLINFO_COOKIELIST:

部份使用 INFO_ 如:INFO_COOKIELIST






本文標題:python中使用pycurl抓取https鏈接


本文URL:http://www./browse/python/57971.html


版權所有:本站作品,允許轉載,轉載時請以超鏈接形式標明文章,,原始出處,,作者信息。否則將追究法律責任




    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多