python接口自动化(一) 发送get请求; 状态码对照表;

参考:https://www.cnblogs.com/du-hong/category/1413482.html
requsts.它是一个Python第三方库,处理URL资源特别方便。参考:https://requests.readthedocs.io/zh_CN/latest/user/quickstart.html
一、环境安装
安装requests
pip install requests
二、get请求
1.导入requests后,用get方法就能直接访问url地址,如:https://www.cnblogs.com/canglongdao/
2.这里的r也就是response,请求后的返回值,可以调用response里的status_code方法查看状态码;
3.状态码200只能说明这个接口访问的服务器地址时对的,并不能说明功能OK,一般要查看响应的内容,r.text是返回文本信息
# coding:utf-8
import requests
r=requests.get("https://www.cnblogs.com/canglongdao/")
print(type(r))
print(r.status_code)
print(r.text)

#不带参数
# coding:utf-8
import requests
r=requests.get("https://www.sogou.com/")
#print(dir(r)) #查看r属性列表
print(r.status_code) #状态200代表服务器地址正确,不代表功能ok
print(r.text)
#r.status_code #返回响应状态码
#r.content #字节方式的响应体,会自动解码gzip和deflate压缩
#r.headers #返回响应头,字典格式
#r.text #返回响应内容,字符串方式的响应体,会自动根据响应头部的字符编码进行解码
#r.cookies #返回cookie内容
#r.json() #requests自带json解码器
#r.raw #返回原始响应体
#r.encoding #编码格式
#r.raise_for_status() #非200响应抛出异常
#r.url #获取url
三、params
1.再发送一个带参数的get请求,如在博客园搜索canglongdao,url地址为:https://zzk.cnblogs.com/s/blogpost?w=canglongdao
2.请求参数:w=canglongdao,可以以字典的形式传参:{"w":"canglongdao"}
3.多个参数格式{"key1":"value1","key2":"value2","key3":"value3"}
四、content
1.博客园查找如果用r.text会发现获取的内容报错,因为博客园查找响应内容是gzip压缩的(非text文本)

 

 2.如果在fiddler工具乱码,是可以点击后解码的,在代码里面可以用r.content这个方法,content会自动解码gzip和deflate压缩。

 

 五、response

 1.response的返回内容还有其它更多信息

  --r.status_code  #响应状态码

  --r.content    #字节方式的响应体,会自动为你解码gzip和deflate压缩

  --r.headers     #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None

  --r.json()      #Requests中内置的JSON解码器

  --r.url      #获取url

  --r.encoding   #编码格式

  --r.cookies     #获取cookie

  --r.raw       #返回原始响应体

  --r.text       #字符串方式的响应体,会自动根据响应头部的字符编码进行解码

  --r.raise_for_status() #失败请求(非200响应)抛出异常


常用框架
#encoding=utf-8
import requests
def xixi(url):
try:
a=requests.get(url)
a.raise_for_status()
a.recoding=a.apparent_encoding
a.encoding='utf-8'
return a.text
except:
return '未知错误'

if __name__=="__main__":
a="http://www.sougou.com"
print(xixi(a))

 

 

 

posted on 2020-01-07 21:57  星空6  阅读(964)  评论(0编辑  收藏  举报

导航