转:python的requests初步使用
上一篇 / 下一篇 2017-03-21 15:39:48 / 个人分类:Python
这里写些简单的使用初步作为一个记录
一、安装 http://cn.python-requests.org/en/latest/user/install.html#install
二、发送无参数的get请求
>>> r = requests.get('http://httpbin.org/get')>>> print r.text {"args": {},"headers": {"Accept":"*/*","Accept-Encoding":"gzip, deflate","Connection":"close","Host":"httpbin.org","User-Agent":"python-requests/2.3.0 CPython/2.6.6 Windows/7","X-Request-Id":"8a28bbea-55cd-460b-bda3-f3427d66b700"},"origin":"124.192.129.84","url":"http://httpbin.org/get"}三、发送带参数的get请求,将key与value放入一个字典中,通过params参数来传递,其作用相当于urllib.urlencode
>>>importrequests>>>pqyload = {'q':'杨彦星'}>>>r = requests.get('http://www.so.com/s',params = pqyload)>>>r.urlu'http://www.so.com/s?q=%E6%9D%A8%E5%BD%A6%E6%98%9F'
四、发送post请求,通过data参数来传递,
四、发送post请求,通过data参数来传递,
>>> payload = {'a':'杨','b':'hello'}>>> r = requests.post("http://httpbin.org/post", data=payload)>>> print r.text
{"args": {},"data":"","files": {},"form": {"a":"\u6768","b":"hello"},"headers": {"Accept":"*/*","Accept-Encoding":"gzip, deflate","Connection":"close","Content-Length":"19","Content-Type":"application/x-www-form-urlencoded","Host":"httpbin.org","User-Agent":"python-requests/2.3.0 CPython/2.6.6 Windows/7","X-Request-Id":"c81cb937-04b8-4a2d-ba32-04b5c0b3ba98"},"json": null,"origin":"124.192.129.84","url":"http://httpbin.org/post"}>>>
可以看到,post参数已经传到了form里,data不光可以接受字典类型的数据,还可以接受json等格式
可以看到,post参数已经传到了form里,data不光可以接受字典类型的数据,还可以接受json等格式
>>> payload = {'a':'杨','b':'hello'}>>> import json>>> r = requests.post('http://httpbin.org/post', data=json.dumps(payload))
五、发送文件的post类型,这个相当于向网站上传一张图片,文档等操作,这时要使用files参数
五、发送文件的post类型,这个相当于向网站上传一张图片,文档等操作,这时要使用files参数
>>> url ='http://httpbin.org/post'>>> files = {'file': open('touxiang.png','rb')}>>> r = requests.post(url, files=files)
5.1 定制headers,使用headers参数来传递
5.1 定制headers,使用headers参数来传递
>>> import json>>> url ='https://api.github.com/some/endpoint'>>> payload = {'some':'data'}>>> headers = {'content-type':'application/json'}>>> r = requests.post(url, data=json.dumps(payload), headers=headers)
六、响应内容
六、响应内容
6.1 响应状态码
r= requests.get('http://httpbin.org/get')
printr.status_code
6.2响应头
>>>printr.headers
{'content-length':'519','server':'gunicorn/18.0','connection':'keep-alive','date':'Sun, 15 Jun 2014 14:19:52 GMT','access-control-allow-origin':'*','content-type':'application/json'}
也可以取到这个个别的响应头用来做一些判断,这里的参数是不区分大小写的
r.headers[‘Content-Type’]
r.headers.get(‘Content-Type’)
6.3 响应内容,前面已经在应用了
r.text
r.content
七、获取响应中的cookies
>>> r = requests.get('http://www.baidu.com')>>> r.cookies['BAIDUID']'D5810267346AEFB0F25CB0D6D0E043E6:FG=1'
也可以自已定义请求的COOKIES>>> url ='http://httpbin.org/cookies'>>> cookies = {'cookies_are':'working'}>>> r = requests.get(url,cookies = cookies)>>>
>>> print r.text
{"cookies"
相关阅读:
- 神经网络理论基础及Python实现 (zaza9084, 2017-3-15)
- python自动化测试应用-第1篇(APP测试)--Appium环境篇 (lamecho, 2017-3-17)
- python自动化测试应用-第2篇(APP测试)--Appium初识篇 (lamecho, 2017-3-17)
- webdriver python API操作 (ice1016, 2017-3-20)
- Python入门网络爬虫之精华版 (zaza9084, 2017-3-20)
- python自动化测试系列文章 (lamecho, 2017-3-20)
- 转载:python内置函数大全 (babyfeir, 2017-3-20)
- python selenium2系列自动化测试教程[webdriver] (launcelot, 2017-3-20)
- python利用键盘钩子制作的网页操作录制和回放脚本 (lamecho, 2017-3-21)