requests介绍_2.02

requests在本文件中的1.26中有涉及到

 

一、什么是requests库

requests 是用于http请求的模块,比urllib更加方便

 

二、requests主要功能

requests介绍_2.02_第1张图片

(1)requests.request()

            先看一下requests库下api.py文件中关于reques函数解释:

requests介绍_2.02_第2张图片

method:GET、HEAD、POST、PUT、PATCH等

url:用于访问的链接

**kwargs:控制访问的参数

 

1、params:字典或字节序列,作为参数增加到url中,例如:

2、data:字典,字节序或文件对象,重点作为向服务器提供或提交资源是提交,作为request的内容,与params不同的是,data提交的数据并不放在url链接里,而是放在url链接对应位置的地方作为数据来储存。它可以接受一个字符串对象。例如:

3、json:json格式的数据,json合适在相关的html,http相关的web开发中非常常见的,也是http最经常使用的数据格式,他是作为内容部分可以向服务器提交。例如:

此处除了可以自行对 dict 进行编码,你还可以使用 json 参数直接传递,然后它就会被自动编码。例如:

 

kv = {‘key1’: ‘value1’}

 

r = requests.request(‘POST’, ‘http://python123.io/ws‘, json=kv)

 

4、headers:字典是http的相关语,对应了某个url访问时所发起的http的头字段,可以用这个字段来定义http的访问的http头,可以用来模拟任何我们想模拟的浏览器来对url发起访问。例如:

requests介绍_2.02_第3张图片

5、files:字典,是用来向服务器传输文件时使用的字段。例如:

 

(2)requests.get()

           先看一下requests库文件下对get函数的介绍。

requests介绍_2.02_第4张图片

可以看到get函数就相当于reques函数的method参数为get。所以对于get函数的其他参数同上边介绍的一样。例如:

requests介绍_2.02_第5张图片

运行结果:

http://www.baidu.com/s?wd=Python

 

(3)requests.post()

requests介绍_2.02_第6张图片

     同样post函数的本质也是在调用request函数。

requests介绍_2.02_第7张图片

从两个数的定义上来看因为调用request的参数不同(一个是params一个是data)导致了get和post的不同

 

(4)requests.head()

requests介绍_2.02_第8张图片

requests介绍_2.02_第9张图片

requests介绍_2.02_第10张图片

 

4.response

前面说完了请求,下面说一下相应response。

requests介绍_2.02_第11张图片

(1)response.apparent_encoding

requests介绍_2.02_第12张图片

 

(2)response.content

requests介绍_2.02_第13张图片

 

(3)response.encoding

这个和上边的response.apparent_encoding的结果可能相同也可能不同。

不同:

结果为:ISO-8859-1

结果为:utf-8

 

相同:

结果为:UTF-8

结果为:utf-8

 

(4)response.status_code

 

(5)response.text

requests介绍_2.02_第14张图片

 

  (6)response.json()

requests介绍_2.02_第15张图片

注:

如果 JSON 解码失败, r.json() 就会抛出一个异常。例如,响应内容是 401 (Unauthorized),尝试访问 r.json() 将会抛出 ValueError: No JSON object could be decoded 异常。

 

需要注意的是,成功调用 r.json() 并**不**意味着响应的成功。有的服务器会在失败的响应中包含一个 JSON 对象(比如 HTTP 500 的错误细节)。这种 JSON 会被解码返回。要检查请求是否成功,请使用 r.raise_for_status() 或者检查 r.status_code 是否和你的期望相同。

 

你可能感兴趣的:(python+selenium)