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,以便更好地使用。在

联系我

如果您有任何问题,可以通过以下电子邮件与我联系:

luoyeqi@duoshoubang.cn

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序