requests模块请求常用参数的写法整理

主要是针对写法

一.requests.get

requests.get是调用了requests.request('get', url, params=params, **kwargs)

1.url

协议://域名?参数

:https://www.baidu,com/s?kw=11111

2.params

params= {传参的名称=传参的值}字典的形式

有几种情况:

url中有参数,params也有参数:最终结果两者的参数都生效,最终参数url中的+params中

url中有参数,params也有参数名称相同:最终结果两者的参数都生效,且会把参数名称相同放在同一列表中

url ='http://httpbin.org/get?name=321'
response = requests.get(url=url,params={'name':'123'},headers=headers)
print(response.text)
'''
  "args": {
    "name": [
      "321", 
      "123"
    ]
  },
'''

3.headers

headers = {xx:xx}字典形式传参

4.cookies

cookies= {xx:xx}字典形式传参

注意点:headers参数中如果有cookies,再传cookies参数不生效

5.proxies

proxies = {'http':'http://端口:ip'}或者proxies = {'https':'https://端口:ip'}

后面如果是http前面必须http,https同理

6.timeout

请求时间

timeout = int 单位秒

7.allow_redirects

allow_redirects = BOOL 参数true

二.requests.post

requests.post是调用了request('post', url, data=data, json=json, **kwargs)

post请求传参和get不一样有其他都一样所有没有params但是会有data,json,files三个属性对应他三种传参方式

post三种传参方式:

  • formdata:对应参数data
  • json(对于这个补充一个如果你看到json数据时jqxxx(js对象)这是jsonp格式):对应参数json
  • files:对应参数files

1.data

data ={}字典的形式

2.json

json={}字典的形式

注意点:datajson参数共存的是情况下只会生效data里的参数

3.files

写法固定

files = {'文件名':open(文件路径,'rb')}

三.概念

  • params:字典或字节序列,作为参数增加到链接中
  • data:字典,字节序列或文件对象,作为请求的内容
  • json:JSON格式的数据,作为Request的内容
  • headers:字典,HTTP定制头(模拟浏览器进行访问)
  • cookies:字典或CpplieJar,Request中的cookie
  • auth:元祖,支持HTTP认证功能
  • files:字典类型,传输文件
  • timeout:设定超时时间,秒为单位
  • proxies:字典类型,设定访问代理服务器,可以增加登陆认证
  • allow_redirects:True//False,默认为True,重定向开关
  • stream:True/False,默认为True,获取内容立即下载开关
  • verify:True/False,默认为True,认证SSL证书开关
  • cert:本地SSL证书路径
posted @ 2019-10-16 15:55  小小咸鱼YwY  阅读(1455)  评论(0编辑  收藏  举报