MikeWang000000/GoLibCookie

json转成字符串处理会不会好些?

56luffy opened this issue · 3 comments

源代码
Quicker_20221202_080003
是将将返回的json里面含不含有error来判断cookies是否有效,但是最近连续三天两天,经常在12点后出异常
抓日志异常如下
Quicker_20221202_075824
是将非json作为json处理,但是我们不需要对返回做修改或者是什么,所以使用result = str(res.text),将他不管返回的text/html还是json都转换成字符串,然后
if "errors" in result or "Errors" in result:
logger.info(str(res.text))
print("Session expired!")
这样子会不会好一些?减少出现异常的可能性.

源代码 Quicker_20221202_080003 是将将返回的json里面含不含有error来判断cookies是否有效,但是最近连续三天两天,经常在12点后出异常 抓日志异常如下 Quicker_20221202_075824 是将非json作为json处理,但是我们不需要对返回做修改或者是什么,所以使用result = str(res.text),将他不管返回的text/html还是json都转换成字符串,然后 if "errors" in result or "Errors" in result: logger.info(str(res.text)) print("Session expired!") 这样子会不会好一些?减少出现异常的可能性.

我理解的对吗?

这样不是很妥当。这个 Error 是我主动打出来的,而不是服务端返回的,因此不需要这样处理。
另外,如果服务端打出的 error code 为 0,则表示请求成功,单纯的字符串匹配则不能判断这点。

造成这个 Error 的原因,是以前服务端在会话过期时会返回 "errors": [{"code": 400}] 类似的 JSON 内容,现在是直接返回空响应,自然会导致 JSON 解析失败。

毕业后这个脚本我已不再维护,因此服务端升级后产生新的异常也是难以避免的。这种情况,你可以先判断是否为空响应。

源代码 Quicker_20221202_080003 是将将返回的json里面含不含有error来判断cookies是否有效,但是最近连续三天两天,经常在12点后出异常 抓日志异常如下 Quicker_20221202_075824 是将非json作为json处理,但是我们不需要对返回做修改或者是什么,所以使用result = str(res.text),将他不管返回的text/html还是json都转换成字符串,然后 if "errors" in result or "Errors" in result: logger.info(str(res.text)) print("Session expired!") 这样子会不会好一些?减少出现异常的可能性.

我理解的对吗?

你好,请问你解决了吗