### :new_moon_with_face: 常规问题 一些常规问题在此就不做记录了,比如怎么获取某加密参数、需要访问哪些接口、哪些接口无水印等等就不说了,善用搜索引擎。 ### :one: 判断接口是否成功 由于接口的原因,接口返回的`aweme_list`列表有可能是空的且`status_code`还为`0`,不能通过这两个数据判断接口是否调用成功,可使用`min_cursor`和`max_cursor`判断,当请求成功时,返回的数据必有这两个字段,必然不是`null`或者`undefined`。 ### :two: 判断是否还有更多 还是接口的问题,当请求失败时,返回的`has_more`还是为`true`,需要通过判断接口是否成功以及`has_more`共同判断,调用成功并且`has_more`为`true`才是真正的还有更多,否则稍有不慎就会出现死循环抓取。 - 阅读剩余部分 -
- 阅读剩余部分 -
### 代码引用 1. [Retry Solution From KyleRoss@github](https://github.com/axios/axios/issues/164#issuecomment-327837467 "Retry Solution From KyleRoss@github") 2. [Timeout Solution From aarcangeli@github](https://github.com/axios/axios/issues/2143#issuecomment-495994940 "Timeout Solution From aarcangeli@github") ### axios 的 retry 解决方案 见:[Retry Solution From KyleRoss@github](https://github.com/axios/axios/issues/164#issuecomment-327837467 "Retry Solution From KyleRoss@github") ### axios 的 timeout 问题 在`0.18.0`版本中`axios`的`timeout`并没有被正确实现导致有可能在弱网环境或不稳定环境或代理环境下`timeout`无效、程序卡住的情况(见:[Axios will not timeout on idle sockets](https://github.com/axios/axios/issues/2143 "Axios will not timeout on idle sockets")),虽然这问题在`0.19.0`版本中修复了,但是`0.19.0`版本中对配置合并的规则的阻断性更新导致我们的重试失败解决方案失效(见:[Axios 0.19.0 issue](https://github.com/axios/axios/issues/2397 "Axios 0.19.0 issue")),所以我们无法升级到`0.19.0`来解决这个问题。 - 阅读剩余部分 -
服务器推荐