当前位置: 首页 > news >正文

粮食局网站建设报告班级优化大师免费下载

粮食局网站建设报告,班级优化大师免费下载,中级经济师考试题型,点餐网站模板出现错误“ConnectionError: Max retries exceeded with url”有多种原因: 向 request.get() 方法传递了不正确或不完整的 URL。我们正受到 API 的速率限制。requests 无法验证您向其发出请求的网站的 SSL 证书。 确保我们指定了正确且完整的 URL 和路径。 # ⛔️…

出现错误“ConnectionError: Max retries exceeded with url”有多种原因:

  1. request.get() 方法传递了不正确或不完整的 URL。
  2. 我们正受到 API 的速率限制。
  3. requests 无法验证您向其发出请求的网站的 SSL 证书。

确保我们指定了正确且完整的 URL 和路径。

# ⛔️ 未指定协议 (https://)
example.com/posts# ✅ 完整网址的示例
https://example.com/posts

仔细检查我们没有在 URL 和路径中输入任何错误。

使用 Retry 对象进行回退重试

解决该错误的一种方法是使用 Retry 对象并指定要重试多少次与连接相关的错误,并设置在两次尝试之间应用的退避因子。

import requests
from requests.adapters import HTTPAdapter, Retrydef make_request():session = requests.Session()retry = Retry(connect=3, backoff_factor=0.5)adapter = HTTPAdapter(max_retries=retry)session.mount('http://', adapter)session.mount('https://', adapter)url = 'https://example.com/api/users'response = session.get(url)parsed = response.json()print(parsed)make_request()

Session 对象允许我们跨请求保留某些参数。

我们将以下关键字参数传递给 Retry 对象:

  • connect - 要重试的与连接相关的错误数
  • backoff_factor - 第二次尝试后在两次尝试之间应用的退避因子。

上面的示例在第二次尝试后以 0.5 秒的退避因子重试请求 3 次。


使用 try/except 语句在发生错误时不重试

如果不想在发生错误时重试,也可以使用 try/except 块。

import requestsdef make_request():try:url = 'https://example.com/api/users'response = requests.get(url, timeout=30)parsed = response.json()print(parsed)except requests.exceptions.ConnectionError:# 👇️ 在此处处理错误或使用 `pass` 语句print('connection error occurred')make_request()

如果 try 块中出现连接错误,except 块将运行。

禁用 SSL 证书验证

如果由于请求无法验证站点的 SSL 证书而收到错误,您可以将验证关键字参数设置为 False 以禁用请求的 SSL 证书验证。

请注意 ,我们应该只在本地开发或测试期间禁用 SSL 证书验证,因为它可能会使我们的应用程序容易受到中间人攻击。

import requestsdef make_request():try:url = 'https://example.com/api/users'# 👇️ 将验证设置为 Falseresponse = requests.get(url, verify=False, timeout=30)parsed = response.json()print(parsed)except Exception as e:print(e)make_request()

使用 time.sleep() 方法实现请求之间的延迟

另一种解决方案是使用 time.sleep() 方法在请求之间设置一定的延迟。

API 可能会限制我们的请求,这可能不会延迟发生。

from time import sleep
import requestsdef make_request():try:url = 'https://example/api/users'response = requests.get(url, timeout=30)parsed = response.json()print(parsed['data'][0])except requests.exceptions.ConnectionError:# 👇️ 在此处处理错误或使用 `pass` 语句print('connection error occurred')for i in range(3):make_request()sleep(1.5)

time.sleep 方法暂停执行给定的秒数。

代码示例以 1.5 秒的延迟向 API 发出 3 个请求。

重复请求直到成功响应

我们还可以使用 while 循环重复请求,直到服务器响应。

from time import sleep
import requestsresponse = Nonewhile response is None:try:url = 'https://example.com/api/users'response = requests.get(url, timeout=30)breakexcept:print('Connection error occurred')sleep(1.5)continueprint(response)
parsed = response.json()
print(parsed)

我们使用 while 循环每 1.5 秒发出一次请求,直到服务器无连接错误地响应。

try 语句尝试向 API 发出 HTTP 请求,如果请求失败,except 块将在我们暂停执行 1.5 秒的地方运行。

continue 语句用于继续 while 循环的下一次迭代。

重复该过程,直到 HTTP 请求成功并使用 break 语句。

我们还可以在代码的错误处理部分更加具体。

from time import sleep
import requestsresponse = Nonewhile response is None:try:url = 'https://example.com/api/users'response = requests.get(url, timeout=30)breakexcept requests.ConnectionError as e:print('Connection error occurred', e)sleep(1.5)continueexcept requests.Timeout as e:print('Timeout error - request took too long', e)sleep(1.5)continueexcept requests.RequestException as e:print('General error', e)sleep(1.5)continueexcept KeyboardInterrupt:print('The program has been canceled')print(response)
parsed = response.json()
print(parsed)

requests.ConnectionError 错误意味着我们的站点或服务器上存在连接问题。

检查我们的互联网连接并确保服务器可以访问互联网。

requests.Timeout 错误在请求花费的时间太长时引发(在示例中超过 30 秒)。

requests.RequestException 错误是一个通用的、包罗万象的错误。

当用户取消程序时会引发 KeyboardInterrupt 异常,例如 按 CTRL + C


总结

要解决错误“ConnectionError: Max retries exceeded with url”,请确保:

  • 在调用 request.get() 时指定正确且完整的 URL。
  • 不受 API 的速率限制。
  • requests 模块能够验证站点的 SSL 证书。
  • 可以访问互联网。
http://www.dt0577.cn/news/37547.html

相关文章:

  • nodejs网站开发实例长沙企业网站建设报价
  • 三栏wordpress 主题深圳市企业网站seo营销工具
  • 电影网站膜拜如何添加百度指数
  • 机器人软件开发平台seo排名查询
  • 免费制作模板网站国内b2b十大平台排名
  • 适合发表个人文章的平台aso优化运营
  • 保定 网站制作 招聘企业所得税优惠政策
  • 网站如何添加统计代码是什么意思google play官网
  • 工程建设工程信息网织梦seo排名优化教程
  • 门户网站模板苏州疫情最新消息
  • 蓝山网站建设安徽seo报价
  • wordpress 移动端优化疫情防控 这些措施你应该知道
  • 免费静态网站托管平台销售推广
  • 网站建设一般好久到期新东方雅思培训机构官网
  • 中企动力地址seo推广优化方案
  • 漫画网站建设教程视频品牌宣传策略有哪些
  • 怎样做内网网站最好的bt种子搜索引擎
  • 郑州社交网站开发站长工具推荐
  • 故事网站模版网络客服
  • 广东东莞自己建站教程谷歌google搜索引擎入口
  • 衡水网站制作高端品牌网站建设
  • 怎么做代理人金沙网站网站登录入口
  • 泉州网站建设策划拓客团队怎么联系
  • 门户网站建设思路合肥网站快速优化排名
  • 外包网站怎么做seo品牌营销策划公司排名
  • 定制网站模板郑州网站优化培训
  • 企业微信下载官方网站百度优化服务
  • 网站设计贵不贵今日国内重大新闻
  • 旅游网站的网页设计网站推广搜索
  • 成都眉山网站建设实体店铺引流推广方法