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 异常

相关文章
|
5月前
|
JSON 中间件 数据格式
在自定义服务器框架中处理 POST 请求
在自定义服务器框架中处理 POST 请求
|
5月前
|
XML JSON API
Postman 发送 POST 请求的最佳实践
Postman 是一个实用的开发工具,它让发送各类 POST 请求成为了可能,包括文本、JSON、XML 以及文件等。开发者利用此工具不仅能够检验API的功能性,还能仿真客户端的请求行为,进而深入了解客户端如何与 API 进行互动。
|
12月前
|
JSON JavaScript 前端开发
SPA项目的登录注册实现,post/get请求以及跨域问题
SPA项目的登录注册实现,post/get请求以及跨域问题
|
前端开发
前端提交POST请求却变成GET请求的原因及解决方法
前端提交POST请求却变成GET请求的原因及解决方法
842 3
|
Web App开发 网络协议 安全
GET和POST方式请求API接口数据返回
GET和POST方式请求API接口数据返回
165 0
|
XML JSON 安全
get请求和post请求的区别以及常用请求方式
get请求和post请求的区别以及常用请求方式
|
PHP
get,post请求实例
get,post请求实例
89 0
get,post请求实例
不支持POST请求方法,支持以下GET、
不支持POST请求方法,支持以下GET、
364 0
不支持POST请求方法,支持以下GET、
|
数据格式
JSONP请求后台示例
JSONP请求后台示例
93 0
JSONP请求后台示例
|
JSON 缓存 前端开发
【Ajax入门技术】如何设置请求头 体 ,利用ajax进行取消请求数据操作,解决重复请求问题,请求超时网络异常以及获取json数据
【Ajax入门技术】如何设置请求头 体 ,利用ajax进行取消请求数据操作,解决重复请求问题,请求超时网络异常以及获取json数据
276 0
【Ajax入门技术】如何设置请求头 体 ,利用ajax进行取消请求数据操作,解决重复请求问题,请求超时网络异常以及获取json数据