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

相关文章
|
6月前
|
安全 搜索推荐
基础入门 HTTP数据包&Postman构造&请求方法&请求头修改&状态码判断
基础入门 HTTP数据包&Postman构造&请求方法&请求头修改&状态码判断
|
7月前
|
XML JSON API
Postman 发送 POST 请求的最佳实践
Postman 是一个实用的开发工具,它让发送各类 POST 请求成为了可能,包括文本、JSON、XML 以及文件等。开发者利用此工具不仅能够检验API的功能性,还能仿真客户端的请求行为,进而深入了解客户端如何与 API 进行互动。
|
数据采集 安全 Python
Python爬虫遇到重定向URL问题时如何解决?
Python爬虫遇到重定向URL问题时如何解决?
|
XML JSON 数据格式
百度搜索:蓝易云【HTTP 中 POST 提交数据的四种方式详解】
以上四种方式都是常见的POST提交数据的方式,选择适当的方式取决于具体的需求和数据类型。在实际开发中,根据不同的场景和后端服务器的要求来选择合适的方式进行数据的提交和处理。
132 0
|
前端开发
前端提交POST请求却变成GET请求的原因及解决方法
前端提交POST请求却变成GET请求的原因及解决方法
1000 3
|
Web App开发 网络协议 安全
GET和POST方式请求API接口数据返回
GET和POST方式请求API接口数据返回
190 0
|
XML JSON 安全
get请求和post请求的区别以及常用请求方式
get请求和post请求的区别以及常用请求方式
|
PHP
get,post请求实例
get,post请求实例
96 0
get,post请求实例
|
数据采集 Python
爬虫第二次笔记 解编码 使用get请求方式和post请求方式
爬虫第二次笔记 解编码 使用get请求方式和post请求方式
260 0
爬虫第二次笔记 解编码 使用get请求方式和post请求方式
|
前端开发 UED
AJAX的一些常见问题处理
AJAX常见一些问题的处理 在用户体验中,可能会存在这样的问题,当服务器半天没有返回数据的时候,用户可能会多次进行请求。这就会导致浏览器增加许多的请求,这样就会导致服务器的压力增大,而且用户体验也会变差。