HttpUrlConnection是否会审查某些标头,特别是Origin?

9
我正在尝试为实现CORS的Web服务创建一些测试。因此,我需要发送Origin头。当我调用addRequestProperty("origin", origin)时,似乎服务器上并未出现Origin头。我说“似乎”——我有一个servlet迭代所有头文件并将它们打印出来,但Origin头并没有出现。HttpUrlConnection的Javadoc没有提到我见过的任何限制,但我可能已经跳过了关键句子。这是一个众所周知的限制吗?

你在哪个Web服务器上运行你的Servlet?是否有代理或其他中间Web服务器? - Christoffer Hammarström
你是设置'origin'还是'Origin'? - Gian
2个回答

13

2
看这段代码,你可以使用 sun.net.http.allowRestrictedHeaders 系统属性来启用设置这些标头。 - jtahlborn
是的,但前提是你必须在第一次连接之前设置它,并且永远不要更改它。幸运的是,Apache HttpClient是一个解决方案。 - bmargulies
1
提供的链接已经失效。以下是grepcode上相关行的更新链接,仅供参考。 - David V
看到CORS头被限制,真的让人感到沮丧。 - Rajas

0

不得不使用 Apache HTTP 客户端来使用 CORS 头。现在它按预期工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接