requests库学习笔记

1.1安装

  • pip install requests

  • python -m pip install requests

1.2使用

#1.导包
import requests
#2.准备接口三要素
#请求地址+请求方式+请求参数
url = "http://127.0.0.1/api/mgr/signin"
parameters = {
    "username":"byhy",
    "password":"88888888"
}
#发送请求
response = requests.post(url = url,data = parameters)
#返回值
print(response)
'''
response.text#将返回值按照文本格式显示
response.json()#将返回值按照json格式显示,对于返回值类型为json格式--->常用
response.status_code#响应码
response.headers#获取响应头
response.content#获取相应源码
#返回值数据为json格式时进行返回值格式化-->纯粹是为了美化返回结果.

'''
#json和python之间的转化
result_json = response.json() #将返回值按照json格式显示
result_json_format = json.dumps(result_json,indent=4,ensure_ascii=False)#返回值数据为json格式时进行格式化
print(result_json_format)

 

 

1.3requests的get请求

  • 不带参数的get请求

    • requsts.get(url = url,params = None)

  • 带参数的get请求

    • requsts.get(url = url,params = data)

'''
1. 导入requests
2. 准备接口三要素
   1. 请求地址
   2. 请求方式
   3. 请求参数:字典格式 {键:值}
3.发送请求
'''
import requets
import json
url = "http://127.0.0.1/api/mgr/customers" 
parameters = {
            'action':'list_customer', # 固定传参
            'pagesize':30,
            'pagenum':1,
            'keywords':'医院'
        } 
response = requests.get(url = url,params = parameters)
#返回值以json格式显示
result_json = response.json()
#json格式返回值格式化
result_json_data = json.dumps(s,indent=4,ensure_ascii=False)
print(result_json_data)

 

 

1.4requests的post请求

语法 requests.post(url,data=None,json=None,files=None)

  • 1.x-www-form-urlencoded请求参数类型

    • 参数:字典格式 {键:值}

    • 语法:requests.post(url = url,data = parameters)

     

  • 2.json格式请求参数类型

    • 参数:json格式

    • 语法 requests.post(url = url,json = parameters ) 或 requests.post(url = url,json = parameters,headers = headers )

      • requests中会默认将headers中的contentType设置为:application/json

      • headers的作用:当服务器端对信息头中的字段User-Agent做自动化验证时,不让python或者postman客户端通过,可以伪装下,把User-Agent内容改为浏览器的

headers = {
    "content-Type":"application/json",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
    }

 

.3.form-data格式请求参数类型

  • 语法1 http请求:requests.post(url = url ,data = parameters ,headers = headers)

  • 语法2 https请求:requests.post(url = url ,data = parameters ,headers = headers,verify=False)

  • 需要导入requests_toolbelt

 

 from requests_toolbelt import MultipartEncoder

 

  重新组合header

m = MultipatEncoder(fields=parameters)

headers = {
    "contentType":m.content_type
    }

4.binary参数类型

- 方法:requests.post(url = url,files = data,verify=False)

- 请求参数:

  ​    files = open("test.txt","rb")

  ​    data = {"files":files}

posted @ 2021-07-03 22:30  Avicii_2018  阅读(67)  评论(0编辑  收藏  举报