request调用 get方法报错以及解决

用request 的 session 调用 get方法 最后得出这么个错误信息。

解决此问题:

ValueError: Timeout value connect was Timeout(connect=None, read=None, total=None), but it must be a...

原代码:

res=requests.get(url=url)

仔细看了一下,url没问题,自己在网页搜索也没问题;

再看了一下对应的bug说明,应该是请求获取信息超时了。

于是修改如下,解决问题。

res=requests.get(url=url, timeout=(30))

### 解决 DeepSeek API 错误码 20033 的方案 当遇到 DeepSeek API 返回错误码 20033 时,这通常表示请求超出了允许的速率限制。API 提供商为了防止滥用和服务过载,会设置每分钟或每小时的最大请求数量。超出此限制将会触发此类错误[^1]。 针对这个问题的有效解决方案如下: #### 调整请求频率 减少应用程序发出请求的速度可以有效避免触碰速率限制。可以通过增加两次连续请求之间的时间间隔来实现这一点。例如,在 Python 中可以使用 `time.sleep()` 函数暂停执行一段时间后再继续发送下一个请求。 ```python import time def make_request_with_delay(api_endpoint, delay_seconds=1): try: response = requests.get(api_endpoint) if response.status_code == 20033: print("Hit rate limit; waiting before retrying...") time.sleep(delay_seconds) # Wait for specified number of seconds return make_request_with_delay(api_endpoint, delay_seconds * 2) # Retry with exponential backoff else: return response.json() except Exception as e: raise ValueError(f"Failed to fetch data from {api_endpoint}: {str(e)}") ``` #### 使用指数退避算法重试失败请求 如果确实因为瞬时流量高峰而超过了限额,则可以在捕获到该特定错误之后实施自动重试逻辑,并采用指数退避策略逐步延长等待时间直到成功为止。上述代码片段展示了如何通过递归方式处理这种情况并引入延迟因子以降低后续尝试的成功几率。 #### 获取更高的配额权限或许可证级别 对于频繁使用的场景下,考虑联系服务提供商申请提升账户等级或者购买更高级别的许可证,从而获得更大的访问额度。这样不仅可以解决问题还能享受更好的性能和支持服务[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值