python使用requests库发送http请求

安装requests库

使用pip安装

pip install requests

若提示pip版本过低,我们可以使用命令来更新pip
在这里插入图片描述

python -m pip install --upgrade pip

引入 requests 包

import requests

注:发送请求(包括请求行、方法类型、头、体) & 常见的请求方式有get、post、put、delete


一、发送get请求

格式:requests.get( url , params ) (内容: url必填; params选填:url参数字典)

无参数的get请求

res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince')
print(res.text)
#打印响应主体内容,字符串格式

有参数的get请求

res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString?theRegionCode=3113')
print(res.text)

使用params的get请求

res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString',
params={"theRegionCode":3113})
print(res.text)

注: params是一个{}字典类型

二、发送post请求

知识扩展 requests.post() post请求分为5种,常用的有三种,如下
①application/x-www-form-urlencod (form表单);
②raw (纯文本格式):有5种格式,分别为json/xml/Html/Text/JavaScrip
③multipart/form-data (复合式表单)

无参数的post请求

有正文体的post请求

1.form表单(application/x-www-form-urlencod) -----data 后跟字典

1: 带参数的查询接口

res =requests.post(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString',
headers={"Content-Type": "application/x-www-form-urlencoded"},data={"theRegionCode": 3113})
print(res.text)

2: 带账号名密码的登录接口

res = requests.post(url='http://123.56.99.53:9000/event/api/admin/',
headers={"Content-Type": "application/x-www-form-urlencoded"},
data={"username": "admin", "password": "123456"})
print(res.text)
2. 纯文本格式(raw)

1. xml格式 ----data 后跟字符串

res = requests.post(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx',
headers ={"Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://WebXml.com.cn/getSupportCityString"},
data = '''
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getSupportCityString xmlns="http://WebXml.com.cn/">
      <theRegionCode>string</theRegionCode>
    </getSupportCityString>
  </soap:Body>
</soap:Envelope>
''')
print(res.text)

2. json格式 ----- json 后跟字典(常用), or ----data 后跟json字符串

res = requests.post(url='http://123.56.99.53:5000/event/weather/getWeather/',
headers={"Content-Type": "application/json"},
json={"theCityCode": "1001"})
print(res.text)

注:# json后面跟的是字典即json={“theCityCode”: “1001”}),可改成 data=‘{“theCityCode”: “1001”})’;字典能自动转为json字符串,所以一般用字典表示;建议纯json正文的接口使用第一种方式,除非是较长的字符串

3. 复合式表单(multipart/form-data )

------上传二进制文件 ---- key value (接口名称:文件名)

res = requests.post(url='http://123.56.99.53:9001/api/uploadFile/',
headers={"Cookie": "uid=1;token=44c972f05d76fdd93c31f9c2b65bb098f308cdfc","Content-Type": "multipart/form-data"},
#有的接口不需要写正文体格式,老服务器一般需要写{"Content-Type": "multipart/form-data"}
files={"myfile1": open('D:\全力以富\1.docx', 'rb')
#"myfile2: open(上传多个文件)"})
print(res.text)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值