Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 如何判断cookie未被发送的原因?_Google Chrome_Http_Cookies_Google Chrome Devtools_Developer Tools - Fatal编程技术网

Google chrome 如何判断cookie未被发送的原因?

Google chrome 如何判断cookie未被发送的原因?,google-chrome,http,cookies,google-chrome-devtools,developer-tools,Google Chrome,Http,Cookies,Google Chrome Devtools,Developer Tools,我正在使用chrome,我想知道是否有一个扩展或者一个方法来告诉我为什么没有发送cookie 我向http://dev/login它正在返回 Set-Cookie:DevId=cffbc7e688864b6811f676e181bc29e6; domain=dev; path=/; expires=Tue, 16-Jun-2015 21:27:43 GMT 但是,在发布到http://dev/Base/User/home/我没有发送DevIdcookie。我很想知道,如果有人碰巧知道的话,为什

我正在使用chrome,我想知道是否有一个扩展或者一个方法来告诉我为什么没有发送cookie

我向
http://dev/login
它正在返回

Set-Cookie:DevId=cffbc7e688864b6811f676e181bc29e6; domain=dev; path=/; expires=Tue, 16-Jun-2015 21:27:43 GMT
但是,在发布到
http://dev/Base/User/home/
我没有发送
DevId
cookie。我很想知道,如果有人碰巧知道的话,为什么饼干没有被送到。但是,此外,我想知道我如何知道为什么以及如何在将来更好地调试这个问题

以下是从Chrome的开发工具中捕获的一些请求

下面是我对
/login
(注意设置Cookie头)的回应

这是我发到
/Base/User/home/1
(注意不要使用cookie)的帖子

问题是:

域=开发

引述自:

域属性的值指定域 cookie对其有效。如果是显式指定的值 不以点开头,用户代理提供前导点

因此,只有当主机地址以
.dev.
结尾时,web客户端才会发送cookie


尝试发送不带域属性的cookie。

这是Chrome特有的错误。还没有解决办法

#56211 chrome.cookies无法用于本地主机域


可能还想读书。这不是像这个问题那样针对chrome,而是针对本地主机行为(与此问题不同)。

Evan Carroll链接到chrome的问题(现在重定向到此处:)似乎相关,并标记为“已修复”。然而,目前还不清楚如何进行

我对/etc/hosts中的主机条目有如下问题:

127.0.0.1   local.app.service.tld
但是在把它改成

127.0.0.1   app.localhost

它又像预期的那样工作了。我认为chrome会很好地发布一个关于这个的小日志通知,当它发生的时候。唉,这将为我们大家省去很多痛苦。

如果您正在处理跨域请求并使用XHR客户端(如fetch API),请小心参数

XMLHttpRequest.withCredentials属性是一个布尔值,指示是否应使用凭据(如Cookie、授权头或TLS客户端证书)发出跨站点访问控制请求。设置withCredentials对相同的站点请求没有影响


我在没有
的情况下设置cookie时收到此错误;路径=/
在我的cookie设置中指定。然后,我的Web服务器将某些请求路由到位于
/
的Web服务器,而cookie未被设置,因为它仅对我最初设置的
/auth
有效

请注意,上面的
路径
是“
/auth
”,这是它的有效位置。在我的cookie中设置路径后:

`nz_auth_jwt=${jwt}; path=/; expires=...` 
我在随后的请求中看到了我的cookie。并验证dev tools中的路径是否已正确设置为对所有路由有效,这正是我在本例中所希望的。

如何告知未发送cookie的原因:
  • 转到“网络”选项卡,然后单击未随cookie发送的请求

  • 转到刚刚出现的“Cookies”选项卡

  • 选中“显示筛选出的请求cookies”以查看所有未发送的cookies,它们将显示为黄色


然后在阻止发送cookie的属性旁边会出现一个小的“i”标签。您可以将鼠标悬停在上面查看详细信息。

在我的例子中,这是因为Fetch API不发送cookies,除非
凭据:“include”
作为选项提供

fetch('API_端点'{
方法:“POST”,
凭据:“包括”,
body:JSON.stringify(一些JSON\u obj)
})
此外,我还必须按如下方式配置Node.js(express.js)后端CORS

const cors=require('cors'))
常数常数={
来源:'http://localhost:3000',
凭据:正确
}
应用程序使用(cors(corsOptions));

您可以验证“资源”选项卡中是否设置了cookie-。如果不是,我们需要一个工具来验证您发送的标题。我已经验证了cookie没有在post请求标题下的“网络”选项卡中发送。但是,cookie并不是在Resources选项卡下设置的事件。这在Firefox中是有效的,而这不是它应该如何工作的。至少据我所知。useragent应该“提供”dot,因此它被写为
.dev
,它应该在
dev
dev
的任何子域上提交cookie。然而,当我使用匿名模式或不同的Chrome配置文件时,它可以工作。所以我很困惑为什么这只是我正常的Chrome配置文件中的一个问题。谢谢你,我从3天开始就在寻找这个问题。对于有问题的请求,我发现Cookies选项卡没有出现。@skainswo这可能会帮助你:。虽然那里的答案对我不起作用。
127.0.0.1   app.localhost
`nz_auth_jwt=${jwt}; path=/; expires=...`