首页 > 技术文章 > python接口自动化1-发送get请求

Rita-LJ 2019-07-18 10:03 原文

一.get请求

1.导入requests后,用get方法就能直接访问url地址

2.下面代码中的r也就是response,请求后的返回值,可以调用response里的status_code方法查看状态码

3.返回的200状态则说明这个接口访问的服务器地址是正确的,并不能说明功能OK,一般要查看响应的内容,r.text是返回文本信息

#coding:utf-8
import requests

r=requests.get("https://zzk.cnblogs.com/s/blogpost")
print r.status_code #返回接口的状态码
print r.text #返回文本信息

 二、params

1.发一个带参数的get请求,如在博客园搜索:Rita,url地址为:https://zzk.cnblogs.com/s/blogpost?w=Rita

2.请求参数:w=Rita,可以以字典的形式传参{"w":"Rita"}

3.多个参数格式:{"key1": "value1", "key2": "value2", "key3": "value3"}

#coding:utf-8
import requests


par={"w":"Rita"}
r=requests.get("https://zzk.cnblogs.com/s/blogpost",params=par)#带参数传值

print r.status_code #返回接口的状态码
print r.text #返回文本信息

4. (但是由于未登录的情况下,直接进入运行此代码,会有图片校验,所以返回的text如下图所示)

 

 三、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响应)抛出异常

 

仅供学习使用,详情请参考https://www.cnblogs.com/yoyoketang/p/6810643.html

 

 

推荐阅读