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

相关文章
|
10月前
|
域名解析 网络协议 开发工具
阿里云DNS常见问题之访问重定向的url访问有问题如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
JSON 前端开发 数据格式
【前后端异常】http/https post请求 返回415错误状态码的解决方法
【前后端异常】http/https post请求 返回415错误状态码的解决方法
3782 0
|
7月前
|
Web App开发 缓存 JSON
在打开网站时,HTTP请求流程是如何处理的
【8月更文挑战第20天】流程包括:构建请求(如`GET /index.html HTTP/1.1`)、检查本地缓存、获取服务器IP及端口、等待TCP连接队列、建立TCP连接、发送HTTP请求。服务器处理后返回数据与响应头,可选择保持连接开启以便后续请求重用,最后断开TCP连接。
|
7月前
|
JavaScript 前端开发 数据安全/隐私保护
如何使用request-promise在发送请求时使用代理?
以上方法演示了如何在发送请求时使用 `request-promise`结合代理服务,适用于需要通过代理访问网络资源的场景。
131 0
|
存储 网络协议 开发者
【 ⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)
【 ⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)
170 0
|
数据采集 安全 Python
Python爬虫遇到重定向URL问题时如何解决?
Python爬虫遇到重定向URL问题时如何解决?
|
前端开发
前端提交POST请求却变成GET请求的原因及解决方法
前端提交POST请求却变成GET请求的原因及解决方法
1075 3
|
Web App开发 网络协议 安全
GET和POST方式请求API接口数据返回
GET和POST方式请求API接口数据返回
215 0
|
XML JSON 安全
get请求和post请求的区别以及常用请求方式
get请求和post请求的区别以及常用请求方式
|
PHP
get,post请求实例
get,post请求实例
106 0
get,post请求实例