Guzzlehttp请求外部服务时,请求频繁原因导致的外部服务返回码:500?如何解决

Guzzlehttp请求外部服务时,请求频繁原因导致的外部服务返回码:500?如何解决

循环请求外部接口获取数据,更新后上传,在上传时开始正常,后面部分请求返回500,请问下各位大佬,是什么问题~如何解决呢

本作品采用《CC 协议》,转载必须注明作者和本文链接
附言 1  ·  10个月前

报错信息:{"code":500,"content":"{\"url\":\"\/MagicInfo\/restapi\/v2.0\/dms\/content-schedules\/123213\",\"errorCode\":\"500000\",\"errorMessage\":null,\"errorDetails\":null}"}

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12
陈先生

返回 500 ?

  1. 返回的内容是什么? 500 也会携带内容的吧、

  2. 对方有说这是什么情况么?

  3. 是否尝试使用 rate-limit 而不是无限制的调用?

10个月前 评论
Jack_hu (楼主) 10个月前

建议贴下报错的内容

10个月前 评论
Jack_hu (楼主) 10个月前

爬别人数据了?有可能他们服务器不好让你爬崩了 :joy:

10个月前 评论
Jack_hu (楼主) 10个月前
  1. 能不能联系上对方查对方业务代码或者日志 (你用人家接口人家知道不知道)
  2. 第1能的前提下,看对方日志,500这个错误码一般不会拿来表述业务,理论上应该是一个全局异常兜底策略输出
  3. 确认第2点的话,让对方在兜底输出加个日志看看执行什么了
  4. 第2点不成立就看链路日志吧

--

光一个对方业务端的输出盲猜对方是怎么了,这……

10个月前 评论
Jack_hu (楼主) 10个月前
sanders

我理解一下:对方服务返回500了还是你的服务返回500了?

如果是对方返回了 http 500 一般情况说明人家的服务出错了,而且不想让你知道出错细节。

如果是你的服务返回 http 500 你需要查一下调试日志了,看看是哪行代码带出的错误。

10个月前 评论
Jack_hu (楼主) 10个月前

联系api服务提供商吧,其他的都是扯淡的

10个月前 评论

限制请求的频率,然后增加重试看看吧。最好的解决办法是请求他们问题

10个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!