Requests安装及项目创建-1

200 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、requests是python中调用接口的第三方库,是比较常用的一种。

mac安装requests报错过程:

1:报错原因:pip版本过低,需要升级

截屏2022-02-24 下午7.25.08.png 2:升级pip版本命令:pip3 install --upgrade pip --user -i pypi.douban.com/simple --trusted-host pypi.douban.com

安装成功截图: image.png

3:安装requests库命令:pip3 install requests  --user -i pypi.tuna.tsinghua.edu.cn/simple

安装成功截图: image.png

二、使用requests调用get接口

#导入request库
import requests

#调用接口需要知道哪一些接口信息:URL/接口请求headers/参数
#URL地址
url = 'http://82.156.74.26:9088/pinter/com/getSku'

#请求参数
params = {
      'id':1
}
#发起接口调用,赋值resp为响应的整体信息对象
resp = requests.get(url=url,params=params)

#对于服务器的响应信息里我们需要重点得到
#响应状态码
status_code = resp.status_code
print('请求状态码是:{}'.format(status_code))

#响应体的文本格式数据
text = resp.text
print('相应的文本信息是:{}'.format(text))

#响应体的json对象数据
json = resp.json()
print('json数据格式内容为:{}'.format(json)) 

运行代码:

image.png

三、使用requests调用post接口

#导入requests库
import requests

#url地址
url = 'http://82.156.74.26:9088/pinter/com/register'

#请求参数
json = {
    "userName":"test",
    "password":"1234",
    "gender":1,
    "phoneNum":"110",
    "email":"beihe@163.com",
    "address":"Beijing"
}

#调用接口,赋值
resp = requests.post(url=url,json=json)

#查看响应状态码
status_code = resp.status_code
print('响应状态码:{}'.format(status_code))

#查看响应json响应数据
resp_json = resp.json()
print('响应json响应数据:{}'.format(resp_json))

运行代码: image.png

易出错的点:请求参数为json,调用时也为json

四、token关联的案例

A:总结下requests请求参数类型:

  • 当接口的请求参数查询参数,使用params
  • 当接口的请求参数是表单参数,使用data
  • 当接口的请求参数是json格式,使用json

B:token关联实例,post body响应体中的data信息需要同get 中的testfan-token相关联,具体代码如下:

#导入requests
import requests

#URL地址
url = 'http://82.156.74.26:9088/pinter/bank/api/login2'

#参数

data = {
    'userName':'admin',
    'password':'1234'
}

#调用接口,得到响应信息
resp = requests.post(url=url,data=data)

#查看响应状态码
status_code = resp.status_code
print('响应状态码:{}'.format(status_code))

#获取json数据格式
json = resp.json()
print('json数据格式:{}'.format(json))
print('json数据格式类型:{}'.format(type(json)))

#从登录的响应body体中得到响应的值
#获取json中data的值
#得到某一个key对应的值
json_data = json['data']
print('data的值:{}'.format(json_data))

#查询接口调用
#URL地址
url1 = 'http://82.156.74.26:9088/pinter/bank/api/query2'

#参数
params = {
    'userName':'admin'
}

#查询接口的header参数中需要用到headers,并且它的值是登陆接口返回信息中的data字段的值
#headers关联
headers = {
    'testfan-token':json_data
}

#调用接口,查看返回信息
resp1 = requests.get(url=url1,params=params,headers=headers)

#查看响应状态码
status_code = resp1.status_code
print('响应状态码:{}'.format(status_code))

#获取json数据格式
json = resp1.json()
print('json数据格式:{}'.format(json))
print('json数据格式类型:{}'.format(type(json)))