1.首先下载 requests pip3 install requests
1.get请求
# 导入requests库 用于发送http请求
import requests# 使用requests库中的get方法向百度网址发送一个GET请求
# 并将响应对象赋值给变量r
r = requests.get('https://www.baidu.com')# 打印响应对象r的文本内容
print(r.text.encode('utf-8'))
2.post请求
import requestsdata = {'name':'test'}# 使用 requests.post 方法发送 POST 请求到指定 URL,并携带数据
# 'https://httpbin.org/post' 是一个用于测试 HTTP 请求的公共服务
response = requests.post(''https://httpbin.org/post',data=data)# 打印文本
print(response.text)
3.带参数的get请求
import requests# 定义请求的参数
data = {'key1':'value1','key2':'value2'}
response = requests.get('https://httpbin.org/get', params=data)# 打印文本
print(response.text)
# 打印状态码
print(response.status_code)
# 打印响应的二进制内容
print(response.content)
# 打印响应头信息
print(response.header)
# 打印最终请求的url
print(response.url)
补充 :状态码的表示
1xx信息性状态码 | 表示服务器已经收到请求,正在处理中 |
2xx成功状态码 | 表示请求已经成功被服务器接收,理解并处理 |
3xx重定向状态码 | 表示客户端需要采取进一步的操作来完成请求, |
4xx客户端错误状态码 | 表示客户端发送的请求有错误 |
5xx服务器错误状态码 | 表示服务器请求时发生了错误 |
补充 :前后端请求方式
GET请求 | 用于向服务器获取资源,通常用于查询数据,请求参数会附加在url的后买你,以?号分割(幂等) |
POST请求 | 用于向服务器提交数据,通常用于创建新资源或执行非等幂操作,如注册,登录等(非幂等) |
PUT请求 | 用于更新服务器上的资源,他通常用于替换整个资源,如果资源不存在则创建新资源(幂等) |
DELETE请求 | 用于删除服务上的资源,根据请求的URL指定要删除的资源 |
注意:幂等和非幂等的区别
幂等操作:幂等操作是无论只能够一次还是多次,所产生的影响都是相同的,也就是说,多次执行相同的操作不会产生额外的影响主要有get,head,put,delete
非幂等操作:指每次执行操作都会产生不同的影响,多次执行相同的操作可能会导致状态的多次改变例如post
4.获取响应式数据
import requests# 获得图片
response = requests.get('url地址')
with open('文件名.文件扩展名','wb') as f:f.write(response.content)# 获得json格式的数据
response = requests.get('http://httpbin.org/ip')
data = response.json()
print(data)
print(data['origin'])
print(response.status_code)
5.自定义请求头信息
import requestsheader = {'user-agent':'baidu/v1'
}response = requests.get('http://www.httpbin.org/get', headers=header)# 打印发送请求时候携带的请求头信息
print(response.request.headers)
# 打印服务器返回的响应头信息
print(response.headers)
6.设置超时时间
import requests# 设置超时时间为1秒 通常2-3秒
response = requests.get('http://github.com'.timeout=1)print(response.text)# 如果超时则会抛出异常 request.exceptions.Timeoutprint(response.status_code)
7.查询服务端的cookie
import requests# 1.获取cookie
url = 'https://www.baidu.com'# 定义请求头
header = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0'
}response = requests.get(url,headers=header)print(response.headers)
print(response.cookies)
print(response.cookies['BAIDUID'])# 2.设置cookies
url = 'https://www.httpbin.org/cookies'
cookies = dict(cookies_are= 'hello')
response = requests.get(url,cookies=cookies)
print(response.text)
8.SSL证书设置
import requests# 参数2 verify = False 关闭SSL证书验证
# 如果有证书 则参数2 指向证书位置如 verify = '/path/to/vertificate'
response = requests.get("https://www.hengxun.com/news/content/1028.htm",verify=False)#当 verify 设置为证书文件的路径(如 verify='/path/to/certificate')时,requests 库会使用该证书# # 来验证服务器的 SSL 证书,确保连接的安全性。