requests--发送请求

简介: requests--发送请求

前戏


使用python做接口自动化,必须用到requests这个库,功能非常的强大,能满足我们大部分的需求。

官网:https://2.python-requests.org//zh_CN/latest/

安装:pip install requests


发送请求


requests发送一个请求非常简单

import requests
basic_url = 'http://httpbin.org'
# 发送get请求
r = requests.get(basic_url + '/get')
print(r.status_code)  # 打印状态码
# 发送post请求
r = requests.post(basic_url + '/post')
print(r.status_code)
# 发送put请求
r = requests.put(basic_url + '/put')
print(r.status_code)
# 发送delete请求
r = requests.delete(basic_url + '/delete')
print(r.status_code)

有时候我们发送请求之后,服务器返回给我们的响应里面,可能会包含乱码或者是在一行显示,类似下面这样

{"result":600001,"data":"","msg":"\u8bfe\u7a0b\u4e0d\u5b58\u5728"}

这时候我们就要用json库进行格式化

import requests
import json
url = 'http://t.weather.sojson.com/api/weather/city/101030100'
r = requests.get(url)
r = r.json()  # 返回响应的JSON编码内容,如果返回的不是json格式的就会报错,字典类型,不能对r.text进行json()
f = json.dumps(r, indent=2, sort_keys=True, ensure_ascii=False)
print(f)

index缩进多少,sort_keys排序,ensure_ascii=False将汉字显示出来

结果

{
  "cityInfo": {
    "city": "天津市",
    "citykey": "101030100",
    "parent": "天津",
    "updateTime": "00:19"
  },
  "data": {
    "forecast": [
      {
        "aqi": 89,
        "date": "24",
        "fl": "<3级",
        "fx": "西南风",
        "high": "高温 32℃",
  ......
  },
  "date": "20190824","status": 200,
  "time": "2019-08-25 00:30:04"
}

这样就能友好的展示了


相关文章
|
缓存
POST 为什么会发送两次请求?
POST 为什么会发送两次请求?
848 0
|
1月前
|
缓存 JSON 安全
HTTP请求发送方法
HTTP请求发送方法【10月更文挑战第22天】
37 2
|
3月前
|
JSON 数据格式
请求模块requests(二)
请求模块requests(二)
|
3月前
|
网络安全 Python
请求模块requests:请求方式
请求模块requests(一)
|
3月前
|
数据采集 Web App开发 开发工具
|
3月前
|
JSON 安全 前端开发
post为什么会发送两次请求?
post为什么会发送两次请求?
111 12
|
2月前
|
Linux 开发工具 C语言
【c++】c++发送http请求
【c++】c++发送http请求
|
6月前
|
Web App开发 Shell 开发者
使用 curl 发送请求
cURL 是一个通过 URL 传输数据的,功能强大的命令行工具。cURL 可以与 Chrome Devtool 工具配合使用,把浏览器发送的真实请求还原出来,附带认证信息,脱离浏览器执行,方便开发者重放请求、修改参数调试,编写脚本。也可以单独使用,根据自己的需求构造请求调整参数,构造多种接口测试场景。
|
6月前
|
XML 安全 前端开发
post为什么会发送两次请求详解
【6月更文挑战第5天】在Web开发中,开发者可能会遇到POST请求被发送了两次的情况,
194 0
|
7月前
|
前端开发 开发者
发送HTTP请求需要知道些什么
发送HTTP请求需要知道些什么
42 0