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

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

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

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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 12

返回 500 ?

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

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

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

1年前 评论
Jack_hu (楼主) 1年前

建议贴下报错的内容

1年前 评论
Jack_hu (楼主) 1年前

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

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

--

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

1年前 评论
Jack_hu (楼主) 1年前
sanders

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

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

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

1年前 评论
Jack_hu (楼主) 1年前

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

1年前 评论

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

1年前 评论

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