http://puertorico.guiatrabajo.com
http-pycurl的Python项目详细描述
http pycurl简介
httppycurl重新打包了pycurl以便更好地使用。在
感谢requests的作者。有些代码来自请求。在
它公开的API类似于请求
安装
你应该先安装pycurl。在
pip install http-pycurl
快速启动
提出请求
首先导入http_pycurl模块。在
^{pr2}$目前只支持三种请求方法。在
GET
>>>r=requests.get('https://httpbin.org/get')>>>r.status_code200>>>r.headers{'Access-Control-Allow-Credentials':'true','Access-Control-Allow-Origin':'*','Content-Encoding':'gzip','Content-Type':'application/json','Date':'Thu, 21 Nov 2019 05:56:51 GMT','Referrer-Policy':'no-referrer-when-downgrade','Server':'nginx','X-Content-Type-Options':'nosniff','X-Frame-Options':'DENY','X-XSS-Protection':'1; mode=block','Content-Length':'264','Connection':'keep-alive'}>>>r.text'{\n "args": {}, \n "headers": {\n "Accept": "*/*", \n "Accept-Encoding": "gzip, deflate", \n "Host": "httpbin.org", \n "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"\n }, \n "origin": "xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx", \n "url": "https://httpbin.org/get"\n}\n'>>>r.json(){'args':{},'headers':{'Accept':'*/*','Accept-Encoding':'gzip, deflate','Host':'httpbin.org','User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'},'origin':'xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx','url':'https://httpbin.org/get'}
POST
>>>post_data={"foo":"bar"}>>>r=requests.post("https://httpbin.org/post",data=post_data)>>>r.json(){'args':{},'data':'','files':{},'form':{'foo':'bar'},'headers':{'Accept':'*/*','Accept-Encoding':'gzip, deflate','Content-Length':'7','Content-Type':'application/x-www-form-urlencoded','Host':'httpbin.org','User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'},'json':None,'origin':'xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx','url':'https://httpbin.org/post'}>>>
HEAD
>>>r=requests.head("https://httpbin.org/get")>>>r.status_code200>>>r.text''
在url中传递参数
>>>payload={'key1':'value1','key2':'value2'}>>>r=requests.get('https://httpbin.org/get',params=payload)>>>r.url'https://httpbin.org/get?key1=value1&key2=value2'
也可以将项目列表作为值传递:
>>>payload={'key1':'value1','key2':['value2','value3']}>>>r=requests.get('https://httpbin.org/get',params=payload)>>>r.url'https://httpbin.org/get?key1=value1&key2=value2&key2=value3'
自定义标题
如果要向请求添加HTTP头,只需将dict
传递到headers
参数。在
>>>url='https://httpbin.org/get'>>>headers={'user-agent':'http_pycurl/1.0.0'}>>>r=requests.get(url,headers=headers)>>>r.json(){'args':{},'headers':{'Accept':'*/*','Host':'httpbin.org','User-Agent':'http_pycurl/1.0.0'},'origin':'xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx','url':'https://httpbin.org/get'}
饼干
要将自己的cookie发送到服务器,可以使用cookies
参数:
>>>url='https://httpbin.org/cookies'>>>cookies=dict(cookies_are='working')>>>r=requests.get(url,cookies=cookies)>>>r.text'{"cookies": {"cookies_are": "working"}}'
超时
您可以使用timeout
参数告诉请求在给定的秒数后停止等待响应。timout必须大于1秒。在
>>>url='https://httpbin.org/get'>>>r=requests.get(url,timeout=1)http_pycurl.exceptions.Timeout
会议
Session根据域保存不同的cookie姓名和,它会根据域名自动发送cookies。在
>>>s=requests.Session()>>>s.get('https://httpbin.org/cookies/set/sessioncookie/123456789')>>>r=s.get('https://httpbin.org/cookies')>>>print(r.text)'{"cookies": {"sessioncookie": "123456789"}}'
我为什么要开发这个软件包
当我爬网一些网站时,我发现他们有一个http消息格式的蜘蛛。在
由于requests'http消息格式,无法正确获取网站内容。在
但是,pycurl可以获取正确的内容。所以我重新打包了pycurl,以便更好地使用。在
联系我
如果您有任何问题,可以通过以下电子邮件与我联系:
- 项目
标签: