【接口测试】发送get/post请求

 

一种是使用requests库发送(post/get/head)请求

第一种:使用requests库发送get请求(要提前安装requests库)

 

import requests

# 输入URL地址,请求方法
URL = r"http://apis.juhe.cn/ip/ipNewV3"
# 输入请求的参数键值对
param = {"ip": "112.112.11.11", "key": "6df4403c2664b954ef63118c3f3df7d6"}
# 使用get方法发送请求
response = requests.get(url=URL, params=param)
# 返回数据的格式为json字符串
head = response.headers
res = response.json()
statu = response.status_code
# print 打印出head,返回json字符串,返回http状态码
print(f"请求头是{head}")
print(f"返回的json数据是{res}")
print(f"返回的状态码是{statu}")

  

第二种:使用urllib库

获取headers和http状态码

# 导包
import urllib.request
# 输入url地址
URL = r"http://www.baidu.com"
# 发送请求,打开地址,获取html页面
response = urllib.request.Request(url=URL)
html = urllib.request.urlopen(response)
# 打印响应头,状态码
print(html.headers)
print(html.getcode()) 
urllib发送post请求
# 输入URL地址,参数
URL = r"http://www.tuling123.com/openapi/api"
paras = {"key": "you", "info": "你好"}
# 首先要进行encode编码,然后发送post请求,打开地址,获取html页面
para = urllib.parse.urlencode(paras).encode("utf-8")
response = urllib.request.Request(url=URL, data=para)
html = urllib.request.urlopen(response)
# 打印出响应头,状态码
print(f"headers:{html.headers}")
print(f"status_code:{html.getcode()}")

    

小结:

  requests和urllib都可以发送get/post请求

  get请求一般使用params,post请求一般用data(post也可以用params)

  requests获取http状态码: response.starus_code  urllib获取请求状态码 html.getcode()

  urllib发送post请求之前,需要进行编码,urllib.parse.urlencode(paras).endcode("utf-8")


posted @ 2022-05-13 20:17  淫鬻  阅读(57)  评论(0编辑  收藏  举报