python http请求之requests

本文详细介绍了Python的requests库在HTTP请求中的应用,包括GET、POST等方法的使用,参数设置如data、json、headers、timeout等,并展示了如何处理响应内容,如.content、.text和.json()。此外,还提及了代理设置和处理超时的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

requests支持HTTP的POST, GET, PUT,DELETE,HEAD 以及 OPTIONS等请求方式
所有的请求方式都相同,下面以requers.get的方式为例讲解

1. GET方式

requests.get(url,
		    params=None,
		    data=None,
		    headers=None,
		    cookies=None,
		    files=None,
		    auth=None,
		    timeout=None,
		    allow_redirects: bool = True,
		    proxies=None,
		    hooks=None,
		    stream=None,
		    verify=None,
		    cert=None,
		    json=None)
  • url 请求的链接
  • params 在GET请求方法中,我们一般将参数以查询字符串的形式传递给 URL 链接(一般用在get请求方式中)
url = "http://httpbin.org/get?key1=vlaue1&key2=value2"
r = requests.get(url)
# 也可直接使用如下方式
url = "http://httpbin.org/get"
param = {"key1":value1, "key2":value2}
r = requests.get(url, params=param)
  • data json POST和PUT等方法中,如果我们需要传输大量的数据(比如图片上传、文件上传、修改文档等)给网站服务器,就需要将其单独携带在HTTP请求中。requests提供了2种参数来支持我们在HTTP请求中传输消息主体:
    (1)data:接受一个字典、列表、元组、字节和类文件对象;
    (2)json:接受一个json参数,请求将会序列化这个数据,并添加一个请求头;
  • headers 请求头,一般是一个dict
  • timeout 为防止服务器不能及时响应,大部分对外部服务器的请求都应该带着 timeout 参数,用来指定如果超多多久服务器没响应,则终止请求,请求超时会报错,应当使用try… except
  • proxies 使用代理

其他参数一般用的很少

requests.post()及其他方式参数与上面get相同,只是需要注意的是get方式传参数使用params, 而post使用data或json

2. 处理响应

requests提供了3种响应形式供我们选择和使用:

  • r.content:原始的响应主体字节;会乱码,使用r.content.decode("utf-8")解码
  • r.text:经过编码后的响应主体字符串;
  • .json():经过JSON处理的响应主体;
import requests
import json
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("https://www.bkqs.com.cn/")
print("content方式结果:", r.content)
print("text方式结果:", r.text)
print(r.json())

.content结果
在这里插入图片描述
.text结果
在这里插入图片描述

3. 其他方法

import requests
import json
r = requests.get("https://www.bkqs.com.cn/")
print("url", r.url)
print("状态码", r.status_code)

4. 参考

requests快速上手
Python处理HTTP请求之requests指北

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值