gpt4 book ai didi

http - 使用 Chrome/WebKit 调试 Access-Control-Allow-Origin

转载 作者:可可西里 更新时间:2023-11-01 15:14:19 26 4
gpt4 key购买 nike

我正在尝试使用 Cross-Origin Resource Sharing带有 Access-Control-Allow-Origin 和相关 header 。我在 Firefox 上运行它,但 Chrome 给我权限错误,看起来像这样:

XMLHttpRequest cannot load <remote>. Origin <local> is not allowed by Access-Control-Allow-Origin.

网络检查器显示请求但没有响应(并且不包括 OPTIONS 预检请求和响应)。我使用 curl 检查了请求输出并重现了所有 header ,我看到的符合规范暗示的内容(以及 Firefox 接受的内容)。我不知道如何进一步调试 - 是否有技巧可以在比 Chrome 通常提供的级别更低的级别查看网络事件?有关 Chrome 如何以不同于 Firefox 的方式解释 CORS 请求的信息?

最佳答案

我怀疑您看到的是预检,然后由于错误导致 Chrome 请求失败。这可以解释为什么事情在 Firefox 中有效,但在 Chrome 中无效。

您是否在请求中发送任何自定义 header ? WebKit 中有一个错误,其中带有自定义 header 的 GET 请求失败(此处错误:http://code.google.com/p/chromium/issues/detail?id=57836)。我还注意到 Chrome 有时会在 Access-Control-Allow-Headers 列表中期望 Content-Type header ,即使 Content-Type 是一个简单的 header 。

此外,您提到网络检查器不包含 OPTIONS 预检?您使用的是哪个网络检查器?我建议使用 Wireshark,因为它可以为您提供有关实际网络流量的详细信息,而 Chrome 的检查器并未提供(例如,Wireshark 将记录预检请求)。

一些其他的调试技巧:

在 Safari 中尝试请求。这将有助于将其缩小为 Chrome 错误或 WebKit 错误。

我看到你看到的错误的次数(Wireshark 显示请求但没有响应),这是因为我的服务器不包含 Access-Control-Allow-Origin header ,不包含该 header 是因为Chrome 没有发送 Origin header (参见上面的错误)。在您的网络跟踪中,您是否在请求中看到 Origin header ?您是否可以控制服务器?如果可以,它是否会收到 Origin header ?

如果没有更多细节,很难调试实际问题。如果您仍然遇到问题,可以在此处发布请求/响应 header 吗?

关于http - 使用 Chrome/WebKit 调试 Access-Control-Allow-Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4753970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com