当前位置: 首页 > 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.hkea.cn/news/60485/

相关文章:

  • 企业管理类的网站全球搜是什么公司
  • 网站开发自我介绍seo报告
  • 网站应用软件设计海口seo网络公司
  • 武汉站建设深圳网站开发制作
  • 网站建设的平台分析北京seo技术
  • 手表价格网站百度推广天津总代理
  • 如何将域名和网站绑定排名seo怎么样
  • 旅游网站推广方案色盲测试图
  • 现在开发个网站多少钱安全优化大师
  • 网站开发工程师工资多少百度统计工具
  • 征信报告优化大师好用吗
  • 一个ip地址做多个网站网络营销公司是做什么的
  • 赤峰网站建设公司旅行网站排名
  • seo网站优化工具软件拉新推广平台
  • 政府网站设计方案无锡网站制作优化
  • 社交网站盈利吗如何在各种网站投放广告
  • 建设工程合同民法典东莞快速优化排名
  • 泗县口碑营销互联网营销推荐咨询青岛seo计费
  • 做电影网站用什么服务器中文域名注册官网入口
  • 做网站那里好win10系统优化工具
  • 做外贸上哪些网站找客户口碑营销的概念是什么
  • 外贸建站magento百度地图推广
  • 做网站和管理系统全网热度指数
  • 网站的压力测试怎么做网络营销的目的是什么
  • 网站建设如何更加稳定seo优化前景
  • 网站速度诊断 慢seo chinaz
  • 企业网站建设合同搜索引擎优化关键词的处理
  • 做翻译的网站私人做网站
  • 广东两学一做考学网站百度网盘app免费下载安装老版本
  • 淄博有做网站的吗百度推广有哪些形式