真的很简单:
var req:URLRequest=new URLRequest();
req.url="http://somesite.com";
var header:URLRequestHeader=new URLRequestHeader("my-bespoke-header","1");
req.requestHeaders.push(header);
req.method=URLRequestMethod.GET;
stream.load(req);
然而,如果我使用 WireShark 检查流量,my-bespoke-header
没有被发送。如果我改为URLRequestMethod.POST
并附加一些数据到req.data
,然后发送标头,但接收应用程序需要 GET 而不是 POST。
该文档提到了不会发送的标头黑名单。my-bespoke-header
不是其中之一。可能值得一提的是,原始请求来自同一域上的不同端口。策略文件日志中没有报告任何内容,因此似乎不太可能,但这是否可以通过使用以下命令强制加载 crossdomain.xml 来解决:allow-http-request-headers-from
尽管事实上这不是跨域问题?或者这只是 Flash Player 的一个未记录的功能,它只能通过 POST 请求发送自定义标头?
据我所知,您对 HTTP GET 缺乏自定义标头支持的假设似乎确实是标准库中未记录的功能(或错误?)。
无论如何,您可能想看看是否as3http客户端适合您的目的并让您解决这个问题。这是来自的相关片段post在这个库的开发者的博客中:
“我无法设置标题
HTTP/GET 请求。宏媒体闪存
播放器仅允许您设置标题
用于 POST 请求。我讨论过这个
特德·帕特里克的问题他告诉我
我怎样才能用Socket来实现
想要的,他非常友善地给了一个
我的代码片段,这让我
开始了。”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)