requests库中的get()和post()方法(***)

(一)get()方法

查看源码,如下:

复制代码
 1 def get(self, url, params, **kwargs):
 2     r"""Sends a GET request. 
 3 
 4     :param url: URL for the new :class:`Request` object.
 5     :param params: (optional) Dictionary, list of tuples or bytes to send
 6         in the body of the :class:`Request`.
 7     :param \*\*kwargs: Optional arguments that ``request`` takes.
 8     :return: :class:`Response <Response>` object
 9     :rtype: requests.Response
10     """
11 
12     kwargs.setdefault('allow_redirects', True)
13     return self.request('GET', url, **kwargs)
复制代码
params参数

1、可以是字典,也可以是嵌套元组的列表;通过params传递的参数会附加到url。

2、如果使用data或json来发送接口参数,请求不会成功。(参数不会附加到url)

注意:基于get请求的特点,请求参数可以直接跟在URL之后。

(二)post()方法

查看源码,如下:

复制代码
 1     def post(self, url, data=None, json=None, **kwargs):
 2         r"""Sends a POST request. Returns :class:`Response` object.
 3 
 4         :param url: URL for the new :class:`Request` object.
 5         :param data: (optional) Dictionary, list of tuples, bytes, or file-like
 6             object to send in the body of the :class:`Request`.
 7         :param json: (optional) json to send in the body of the :class:`Request`.
 8         :param \*\*kwargs: Optional arguments that ``request`` takes.
 9         :rtype: requests.Response
10         """
11 
12         return self.request('POST', url, data=data, json=json, **kwargs)
复制代码

何时使用data参数或json参数,需要根据实际的接口所支持的数据类型进行选择。

data参数

1、接收一个字典类型的数据,存放到请求体中,然后发送给服务器(参数需是字典类型)。

2、向服务器提交form表单时就可以使用data参数。

  大多数post请求的接口默认支持参数类型Content-Type为application/x-www-form-urlencoded, 它告诉我们请求的接口参数需要传递一个form表单,那么我们往往是通过构造一个字典来传递form表单的,所以当我们向服务器提交form表单时就可以使用data参数,它会接收一个字典类型的数据,存放到请求体中,然后发送给服务器(参数需是字典类型)。

json参数

1、访问的接口支持content_type为application/json格式的数据类型,就可以通过json来传递接口参数

2、参数可以是字典也可以是json类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值