python之requests模块
1.安装
pip install requests
2.基本用法
就是以某种HTTP方法向远端服务器发送一个请求而已
 import requests
 r = requests.get('https://github.com/timeline.json')
 r = requests.post("http://httpbin.org/post")
 r = requests.put("http://httpbin.org/put")
 r = requests.delete("http://httpbin.org/delete")
 r = requests.head("http://httpbin.org/get")
 r = requests.options("http://httpbin.org/get")
  所谓 requests.get,就是以GET方式发送一个REQUEST,得到一个Response类的结果,保存为 r。
3.URL传参/获取请求的URL
<协议>://<域名>/<接口>?<键1>=<值1>&<键2>=<值2>
requests库提供的HTTP方法,提供了名为params的参数,这个参数可接受一个python字典,并自动格式化为上述格式
 import requests
 url = 'http://www.so.com/s'
 params = {'ie': 'utf-8', 'q': 'query'}
 r = requests.get(url, params=params)
 print r.url
得到结果:
http://www.so.com/s?q=query&ie=utf-8
4.设置超时
requests的超时设置以秒为单位
设置超时为5秒
import requests url = 'http://www.zhihu.com' r = requests.get(url, timeout=5)
5.请求头部
默认头部
import requests cs_url = 'http://httpbin.org/get'
r = requests.get (cs_url)
print r.content
结果
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.7.0 CPython/2.7.10 Windows/7"
  },
  "origin": "xx.xx.xx.xx",
  "url": "http://httpbin.org/get"
}
我们可以自定义请求的头部
 import requests
 my_headers = {'User-Agent' : 'From Liam Huang', 'Accept-Encoding' : 'gzip'}
 cs_url = 'http://httpbin.org/get'
 r = requests.get (cs_url, headers = my_headers)
 print r.content
结果
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip",
    "Host": "httpbin.org",
    "User-Agent": "From Liam Huang"
  },
  "origin": "xx.xx.xx.xx",
  "url": "http://httpbin.org/get"
}
可以看到User-Agent和Accept-Encoding都已经改变
6.响应头部
可以通过response.headers来查看
import requests cs_url = 'http://httpbin.org/get'
r = requests.get (cs_url)
print r.headers
结果
{
    "content-length": "",
    "server": "nginx",
    "connection": "keep-alive",
    "access-control-allow-credentials": "true",
    "date": "Fri, 26 Feb 2016 10:26:17 GMT",
    "access-control-allow-origin": "*",
    "content-type": "application/json"
}
python之requests模块的更多相关文章
- Python爬虫之使用Fiddler+Postman+Python的requests模块爬取各国国旗
		介绍 本篇博客将会介绍一个Python爬虫,用来爬取各个国家的国旗,主要的目标是为了展示如何在Python的requests模块中使用POST方法来爬取网页内容. 为了知道POST方法所需要传 ... 
- Python之requests模块-hook
		requests提供了hook机制,让我们能够在请求得到响应之后去做一些自定义的操作,比如打印某些信息.修改响应内容等.具体用法见下面的例子: import requests # 钩子函数1 def ... 
- Python之requests模块-cookie
		cookie并不陌生,与session一样,能够让http请求前后保持状态.与session不同之处,在于cookie数据仅保存于客户端.requests也提供了相应到方法去处理cookie. 在py ... 
- Python之requests模块-session
		http协议本身是无状态的,为了让请求之间保持状态,有了session和cookie机制.requests也提供了相应的方法去操纵它们. requests中的session对象能够让我们跨http请求 ... 
- Python之requests模块-request api
		requests所有功能都能通过"requests/api.py"中的方法访问.它们分别是: requests.request(method, url, **kwargs) req ... 
- Python使用requests模块访问HTTPS网站报错`certificate verify failed`
		使用requests模块访问HTTPS网站报错: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Nam ... 
- 使用Python的requests模块编写请求脚本
		requests模块可用来编写请求脚本. 比如,使用requests的post函数可以模拟post请求: resp = requests.post(url, data = content) url即为 ... 
- python基础-requests模块、异常处理、Django部署、内置函数、网络编程
		网络编程 urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应. 校验返回值,进行接口测试: 编码:把一个Python对象编码转 ... 
- 关于解决Python中requests模块在PyCharm工具中导入问题
		问题引入: 今天在学习Python网络请求的时候,导入requests模块时一直报红色波浪线,如图: 反复折腾,一直以为自己没有安装requests模块,反复安装反复卸载: 安装方法: 首先 cd 进 ... 
- python的requests模块
		使用python进行接口测试得时候可以使用requests模块,是基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库 安装requests是模块 pip instal ... 
随机推荐
- SDCycleScrollView 添加初始滚动页码
			最近在做一个无限轮播界面,由于自己写的有些卡顿,所以我使用了第三方框架SDCycleScrollView,但是我的初始滚动页不是从第一页开始怎么办,我想从第二页,第三页,或者最后一页,关于这个SDCy ... 
- LR的VG与Control之间的关系,并发的实质
			LR的VG与Control之间的关系,经过无数次的实验,搞清楚了现实意义的并发.传说每秒有几百,几千,几万用户并发,基本属于设想状态. 在一秒内处理多少个请求,完全在于服务器处理能力的强弱.这里需要强 ... 
- input text中不能显示空格后的内容
			<input type="text" value='' /> 即value=后面一定要用引号引起来,不然就会出现空格及其后内容不显示的问题 
- System.IO命名空间,用于文件/流的处理。
			主要类的介绍:1 Path类——静态实用类,用于处理路径名称.2 File类和FileInfo类● File —— 静态实用类,提供许多静态方法,用于移动.复制和删除文件.● FileInfo —— ... 
- Eclipse 安装最新SVN插件
			本文来源:http://liujianqiao398.blog.163.com/blog/static/181827257201331194610634/ Eclipse 安装最新SVN插件 2013 ... 
- eclipse无法导入已有android项目
			问题: 今天发现我拷贝的一个android项目无法导入到eclipse,但是其它的已有android项目却可以导入 思路 现在网络这么流行,当然是上网查,得益于eclipse无法导入Android工程 ... 
- java获取数据库的列名、类型等信息
			当你使用和学习JDK的时候,可以查看并学习它所提供给你的两个ResultSetMetaData 和DataBaseMetaData类的源码并很好的了解它们的实现原理和思路,JDBC中提供有两种源数据, ... 
- 求N以内与N互质的数的和
			题目连接 /* 求所有小于N且与N不互质的数的和. 若:gcd(n,m)=1,那么gcd(n,n-m)=1; sum(n)=phi(n)*n/2; //sum(n)为小于n的所有与n互质的数的和 // ... 
- Android &Swift iOS开发:语言与框架对比
			转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ... 
- 添加以及删除className
			<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ... 
