我有一个设置API网关,其API通过Lambda集成返回JSON。
当我尝试通过浏览器拨打GET时,收到错误
在Chrome上ERR_CONTENT_DECODING_FAILED
,在Safari上NSURLErrorDomain:-1015
。
当我使用curl
进行GET呼叫时,我能够获得响应。
在四处搜寻时,我发现问题出在gzip。浏览器似乎发送了一个标头,表明它们接受gzip,但无法处理响应。当我尝试使用--compressed
进行curl命令时,收到了类似的错误。
为解决此问题,我尝试在API网关上启用“已启用内容编码”,并且最小大小为0字节。这不能解决问题。
在尝试使用curl
标志进行-compressed
调用时,我传递了标头'Accept-Encoding'并将其设置为”。这给了我一个有效的答案。
最终,我正在使用AngularJS进行HTTP调用。我试图如上所述设置标题,但是Angular不允许这样做。 (给出错误Refused to set unsafe header "Accept-Encoding"
)
有人可以帮助我了解如何解决这个问题吗?