当前位置: 首页 > news >正文

4.7-python request库的基本使用

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 requests

data = {'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 requests

header = {
    '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.Timeout

print(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 证书,确保连接的安全性。

相关文章:

  • 【区块链安全 | 第三十三篇】备忘单
  • 其它理论原则
  • 从存储仓库到智能中枢:AI时代NAS的进化革命
  • Android使用声网SDK实现音视频互动(RTC)功能
  • 【算法应用】基于融合A星-粒子群算法求解六边形栅格地图路径规划
  • 分行经理个人简历
  • scala课后总结(7)
  • 虚引用软引用强引用弱引用
  • 多模态大语言模型arxiv论文略读(四)
  • 【Django】教程-11-ajax弹窗实现增删改查
  • WSL2迁移教程:如何备份和转移Ubuntu子系统到新位置
  • [C++面试] C++中各类括号的差异:[]、{}、<>、()
  • Spring Boot 集成 MongoDB 时自动创建的核心 Bean 的详细说明及表格总结
  • 【HFP】蓝牙HFP服务层连接与互操作性核心技术研究
  • Siamrpn跟踪模型转RKNN模型
  • 工业级远程无线开关控制模块--轻松实现一对多MESH组网
  • #关于process.env.NODE_ENV 与 import.meta.env 相关了解
  • AE MDX II 电源 User Manual
  • C++11(右值引用和移动语义)
  • stm32week10
  • 网站系统建设思想如何写/企业如何进行宣传和推广
  • 做传销网站后果严重吗/情感营销案例
  • 亚马逊品牌备案网站怎么做/河北百度seo关键词
  • ps做图 游戏下载网站有哪些/营销到底是干嘛的
  • 做的最少的网站/网站做优化好还是推广好
  • 新网站前期如何做seo/企业推广策划方案