python 包之 requests 请求操作教程
一、安装
pip install requests
二、请求类型
import requests
requests.get('https://www.baidu.com')
requests.post('https://www.baidu.com')
requests.put('https://www.baidu.com')
requests.delete('https://www.baidu.com')
requests.head('https://www.baidu.com')
requests.options('https://www.baidu.com')
三、带参数请求
import requests
data = {
'name': 'autofelix',
'age': 25
}
response = requests.get('https://www.baidu.com', params=data)
print(response.url)
print(response.text)
四、自定义headers
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'
}
response =requests.get('https://www.baidu.com', headers=headers)
print(response.text)
五、请求属性
import requests
response = requests.get('https://www.baidu.com')
# 响应状态码
response.status_code
# 响应头
response.headers
# 响应cookie
response.cookies
# 请求url
response.url
# 历史记录
response.history
六、文件上传
import requests
files= {"files":open("git.jpeg","rb")}
response = requests.post('https://www.baidu.com/upload', files=files)
七、会话维持
import requests
s = requests.Session()
s.get('https://www.baidu.com/login')
response = s.get('https://www.baidu.com')
八、证书验证
-
verify设置False关闭证书验证
-
urllib3可以解决InsecureRequestWarning提示
import requests
from requests.packages import urllib3
urllib3.disable_warnings()
response = requests.get('https://www.12306.cn', verify=False)
九、代理设置
import requests
proxies= {
'http': 'http://127.0.0.1:9999',
'https': 'http://127.0.0.1:8888'
}
response = requests.get('https://www.baidu.com', proxies=proxies)
十、超时设置
import requests
requests.get('https://www.baidu.com', timeout=3)
十一、认证设置
import requests
response = requests.get('https://www.baidu.com', auth=('user', '123'))
十二、异常处理
-
ReadTimeout是超时错误
-
ConnectionError是网络错误
import requests
from requests.exceptions import ReadTimeout,ConnectionError,RequestException
try:
response = requests.get('https://www.baidu.com', timout=0.1)
print(response.status_code)
except ReadTimeout:
print('timeout')
except ConnectionError:
print('connection Error')
except RequestException:
print('error')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通