2、requests库之HTTP请求及带参数请求的几种方式

本篇我们来学习HTTP中常见的请求方法,一般我们都知道有GET和POST两种,其他的可能就记得不是很清楚。其实,和数据库操作一样,HTTP请求也有好几种,至少是有增删改查这四种方法。为了弄清楚这几种方法和方法的含义,我直接百度截图。
在这里插入图片描述
看完之后,很多人会说GET就是用来获取信息的,POST是用来发送数据到服务器,例如提交表单。而HEAD这个请求头部报头速度非常快,很多黑客会利用这个来攻击,获取一些信息。PUT是修改服务器上存在的文档并更新,DELETE就是从服务器上删除数据。我想说的是,POST方法不一定是用在提交数据这方面,我在数据查询,获取查询结果,也遇到过有的开发使用的是POST方法。

1、不带参数的请求

import requests
import json
 
URL = 'https://api.xxxxx.com'
 
 
def build_uri(endpoint):
    return '/'.join([URL, endpoint])  # 主要作用是拼接接口请求地址
 
 
def better_output(json_str):
    return json.dumps(json.loads(json_str), indent=4) #采用json里面提供方法打印出来,格式更好看
 
 
def request_method():
    response = requests.get(build_uri('users/haohao')) #调用get方法,注意用户名这个地方写法,没有图片中冒号
    print(better_output(response.text)) #调用json更好格式输出
 
if __name__ == '__main__':
    request_method()

2、一般来说,接口都有参数的,参数有的是必须带的,有的参数是不必须。基本上,HTTP请求中,有四种参数类型。
a、 URL参数
在这里插入图片描述
注意,这种参数是最简单的。参数可以直接拼接在URL后面,问号(?)前面是接口的请求地址,后面是多个参数用连接符(&)连接。这个常见的例子就是淘宝,你可以打开淘宝,点击一些东西,把URL拷贝出来,看看是不是这个。这个参数类型有一个好处,非常简单,页面跳转也很快,但是有两个缺点。第一个缺点是,get方法的拼接长度可能很长,但是浏览器有限制,不能超过2048KB,超过了只能使用post方法。注意是浏览器的限制,不是get请求的限制。第二个缺点就是,上面参数的值是明文的,明文就代表不安全,特别是密码不能明文。
2、表单提交参数
在这里插入图片描述
第二种类型是表单提交。在提交请求,我们需要写Content-Type,注意后面的urlencoded,这种类型一般在我们发送文章,博客的时候,采取这种参数。第二个特点是,多个参数之间用连接符(&)连接。第三个特点,在使用requests方法时候,需要用data,data指向的是一个字典

3、JSON参数
在这里插入图片描述
第三种,JSON参数提交,这个使用也非常广泛。因为json是一个轻量级的数据存储结构,而且读取数据也非常快。在现在web开发中非常普及,github也采用这种方式。这个就是要注意参数是写在json文件内,在代码中一般当做json字符串。在使用requests库,发送这种参数请求,有一个参数是json,后面跟着就是json内容。
4、multipart/form-data类型
在这里插入图片描述
第四种,在提交表单操作的时候,会遇到图片上传的操作,图片上传是一个单独的接口;这种在接口中很少见,遇到在具体说。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值