目录
一、requests上手
二、requests的带参形式
三、requests的headers形式
总结
一、requests上手
使用python进行编码,当涉及到网络逻辑时需要发起网络请求,而requests包就是用来实现网络请求功能的。
上手代码片段如下:
# coding = utf-8 # myrequests1.py import requests response = requests.get("https://api.baidu.com/userlogin") print(response.status_code) print(response.text) print(response.content) print(response.json())
代码注释:
1.requests库并不是python自带的,故在使用前需要先在项目路径下安装:pip install requests
2.http请求最常用的两种方式即为get、post,函数传参可进入函数内部了解,或查阅文档
3.所有url地址都是虚构的,也许真有此url,但我真是随手写的
4.网络请求之后返回结果,打印出来看看效果,包括:状态码、文本内容、二进制内容、json格式
二、requests的带参形式带参形式,就是在get、post等网络请求中,使用携带参数的方式对url进行访问。
get带参代码片段如下:
# 编写get方式的带参网络请求 # myrequests2.py import requests data = {"vedio_id":01} url = "https://api.baidu.com/vedio_list" response = requests.get(url,data) print(response.json())
代码注释:
1.要传入的参数data。这里将url、data用变量赋值了,直接放在函数中感觉不好看
2.打印一下看看结果。当然了,这里需要真实的项目中url和data,才能成功打印
post带参代码片段如下:
# 编写post方式的带参网络请求 # myrequests3.py import requests # 1.Content-Type:application/json mydata = {"phone":"13712345678","pwd":"1234567890"} myurl = "https://api.baidu.com/user_login" response = requests.post(myurl,json=mydata) # 2.Content-Type:application/x-www-form-urlencoded mydata = """ """ myurl = "https://api.baidu.com/user_login" response = requests.post(myurl,data=mydata) print(response.json())
代码注释:
1.post方式有两种传参方式,针对不同的content-type,需要指定参数类型
2.json格式,传参时使用json=指明;x-www-form-urlencoded格式,传参时使用data=指明
3.且两种方式时,传参数据也对应不同格式:json、form(即html中的表单知识)
4.json格式时,发送网络请求提交的数据为序列化的json字符串
5.x-www-form-urlencoded格式时,发送网络请求提交的数据为key1=val形式的键值对
带参形式逻辑注释:
1.在实际项目中,往往接口携带数据多而杂,不可能直接写在url中一起进行网络请求,故拆分出来作为参数,传入requests方法中
2.(更多体会有待补充,或提问提醒)
三、requests的headers形式headers属于http协议的原理知识点。
带有headers请求头的代码片段如下:
# 带有headers请求头的代码片段 # myrequests4.py import requests myheaders = {"token":"baidudjaerlgbvadvaerilghzvnja;wnrganfvjkldbgjbvaldvf"} myurl = "https://api.baidu.com/user_info" response = requests.get(myurl,headers=myheasers) print(response.json())
代码逻辑:
1.获取请求头里的token字段,在实际项目中需抓包对于接口获取(fiddler、Charles工具知识)
2.使用headers=形式将参数传入
总结requests常用到的内容就是这些,更加需要磨练的是在实际项目中的使用,以及针对实际项目利用requests实现用例的逻辑。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)