fetch Transfer-Encoding chunked error

2234839 20:23:53[图片]这个问题不清楚是不是 siyuan 的,就是经常响应不完全,从 途中那个地方开始没有了,总大小只有 60k

2234839 20:24:07正常情况有 260+k
88250 20:25:41这个 gzip 过,postman 应该会自动处理才对
2234839 20:25:41http://dev.shenzilong.cn:7003/api/system/getConf 这个接口也是,上次出错无法打开也许和 cookie 无关,而是这个问题
2234839 20:26:24响应体感觉有时候少了一部分,不晓得和我网络有没有关系
luckept 20:33:46这是个什么新接口吗
luckept 20:34:44噢,刚刚大佬说docker的没锁就是可以调内部api吧
2234839 20:35:34应该和思源没关系,我去服务器上用 curl 没有丢失响应体,但 http 还会丟响应体的吗,应该直接失败之类的吧
luckept 20:36:30[图片]
2234839 20:39:38@88250 思源的响应头似乎没有 Content-Length
2234839 20:40:10那么在高延迟环境下,接收端是不是会直接不管后面收到的 chunk 了
2234839 20:42:13[图片]我觉得我可能破案了
88250 20:43:26客户端应该会自动处理
2234839 20:45:27/疑问我再找找问题在哪
2234839 22:48:18我还是觉得 思源 有问题,但我找不到问题在哪,只知道请求 chunk 有时候接收到一两个之后下一个 fetch 就无法从流中读取了直接报错,但服务器上请求以及我使用 node 的 http 模块发起请求却没有问题。我觉的浏览器实现是不会有问题的,然后既然服务端直接请求没毛病我就使用 nginx 对思源进行转发,果然 ok 了,所以我更加觉得是思源的问题了
88250 22:49:32怕不是
2234839 22:49:59总不可能浏览器和 postman 都有问题吧
2234839 22:50:25也不会是网络问题,我本机使用 node 的 http 请求也不会出错
88250 22:50:48你现在测试 aip 时候什么情况下有问题?
2234839 22:51:45直接请求就有问题,结果少很多,例如api/system/getEmojiConf有280多k 但有时候 postman 请求只有 60\100+ 反正不够数
2234839 22:52:18浏览器中也是一样的毛病
2234839 22:52:38postman 似乎就是浏览器实现的..
2234839 22:53:35curl --location --request POST 'http://dev.shenzilong.cn:7002/api/system/getEmojiConf' --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0' --header 'Accept: /' --header 'Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2' --header 'Referer: http://dev.shenzilong.cn:7003/stage/build/desktop/?r=luttqvn' --header 'Content-Type: application/json;charset=UTF-8' --header 'Origin: http://dev.shenzilong.cn:7003' --header 'DNT: 1' --header 'Connection: keep-alive' --header 'Cookie: siyuan=MTYzMTAwNDc0N3xEdi1CQkFFQ180SUFBUkFCRUFBQVJ2LUNBQUVHYzNSeWFXNW5EQVlBQkdSaGRHRUdjM1J5YVc1bkRDb0FLSHNpU1VRaU9qRXdNVGtzSWtGalkyVnpjMEYxZEdoRGIyUmxJam9pYzNwc2MybDVkV0Z1SW4wPXy4qkjTnSb6oigkWou16KLSGl1Gj3spTcAu-tlLv1m2JQ==; crisp-client%2Fsession%2F3fd4e4ce-c629-4918-9484-2a137064f395=session_ffa5ffd6-57ca-4c4b-9a86-6822ec69471b' --data-raw '{}'
2234839 22:54:04你可以试试这个[图片]只有 60 k
88250 22:54:36我这好像没问题 [图片]
2234839 22:54:44把端口改成 7003 则是我 nginx 代理的,一直完整
2234839 22:54:50多试几次试试
2234839 22:55:01我这偶尔成功
88250 22:55:26配置了 nginx 反代么?
88250 22:56:08那就用反代吧
2234839 22:58:10只能这样了,就是感到比较玄学,不懂 http
2234839 23:01:00我下机睡觉去了
88250 23:01:15晚安,我也差不多了

by 崮生 from 崮生 • 一些随笔 🎨,欢迎 赞助本文
本文欢迎分享与聚合,全文转载未经授权( 联系我)不许可。