get请求常见问题解决

简介: 【10月更文挑战第2天】

get请求是最常用的请求方式之一,常见问题分析:
1、请求地址会存在带参数 与不带参数;
2、会存在请求地址重定向的情况,是否设置自动跳转
3、有时会访问国外或内外的情况,会用到正向(代理客户端,如找黄牛买票)与反向(代理服务端,中介租房)代理
补充为何使用代理:让服务端以为不是同一个客户端请求;防止真实地址被泄露
4、加鉴权——Basic Auth,部分接口正确,仍报401,可能是鉴权原因
5、关于ssl证书,跳过验证设置
6、关于超时配置设置

mport requests

# 1、发送get请求时不带参数
requests.get('https://httpbin.org/ip')

#发送get请求时带参数
# 等同于直接访问https://httpbin.org/ip/get?name=itly
requests.get('https://httpbin.org/get', params={
   'name': 'itly'})

#2、当访问接口发生301跳转时,可以设置允许或禁止跳转
requests.get('http://github.com/', allow_redirects=False)

#3、当发生get请求,加proxy
proxies = {
   'http': 'http://10.10.1.10:3128',
                'http': 'http://10.10.1.10:1080'
}
requests.get('https://httpbin.org/get', proxies=proxies)

# 4、发送get请求,加鉴权——Basic Auth
# 首先导入HTTPBasicAuth,一般导入语句写在.py文件的最前面
from requests.auth import HTTPBasicAuth
# 然后发送请求(用户与密码都是admin)
requests.get('https://api.github.com/user', auth=HTTPBasicAuth('user','password'))

#5、SSL证书(HTTPS):
#跳过12306 的证书验证,把 verify 设置为 False:
r = requests.get('https://kyfw.12306.cn/otn/', verify=False)
print r.text

#6、超时配置
1 、利用timeout参数来配置最大请求时间:
r = requests.get('https://github.com', timeout=5)


其他错误异常:

1、所有Requests显式抛出的异常都继承自:requests.exctptions.RequestException
2、遇到网络问题(如:DNS查询失败,拒绝连接等)时,requests会抛出一个 ConnectionError 异常
3、遇到罕见的无效HTTP响应时,Request则会抛出一个 HTTPError 异常
4、若请求超时,则抛出一个 Timeout 异常
5、若请求超过了最大的重写向次数,则会抛出一个 TooManyRedirects 异常

相关文章
|
JSON 前端开发 数据格式
【前后端异常】http/https post请求 返回415错误状态码的解决方法
【前后端异常】http/https post请求 返回415错误状态码的解决方法
3575 0
|
5月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之遇到报错:HTTP状态码400,该如何处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
7月前
|
消息中间件 SQL 数据采集
DataWorks产品使用合集之post请求参数(不是请求体),该如何配置
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
70 3
|
7月前
|
安全 搜索推荐
基础入门 HTTP数据包&Postman构造&请求方法&请求头修改&状态码判断
基础入门 HTTP数据包&Postman构造&请求方法&请求头修改&状态码判断
|
存储 网络协议 开发者
【 ⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)
【 ⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)
158 0
|
8月前
|
存储 JSON JavaScript
JSON数据中的注意事项
JSON数据中的注意事项
63 0
|
前端开发
前端提交POST请求却变成GET请求的原因及解决方法
前端提交POST请求却变成GET请求的原因及解决方法
1048 3
|
PHP
PHP开发中$_GET请求转为$_POST获取参数的解决方案
PHP开发中$_GET请求转为$_POST获取参数的解决方案
75 0
|
缓存
HttpServletResponse概述、常见状态码、发送状态码的方法、设置缓存时间及文件下载
HttpServletResponse概述、常见状态码、发送状态码的方法、设置缓存时间及文件下载
341 0
|
XML JSON 安全
get请求和post请求的区别以及常用请求方式
get请求和post请求的区别以及常用请求方式