spe*_*der 4 actionscript-3 http-headers
非常简单:
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);
Run Code Online (Sandbox Code Playgroud)
然而,如果我使用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的假设确实是标准库中的一个未记录的功能(或错误?).
在任何情况下,您可能想要查看as3httpclient是否适合您的目的并让您解决此问题.以下是此库开发人员博客中帖子的相关摘录:
"我无法设置HTTP/GET请求的标头.Macromedia Flash Player允许您仅为POST请求设置标头.我与Ted Patrick讨论了这个问题,他告诉我如何让Socket实现所需的和他非常友好地给了我代码片段,这让我开始了."
如果这种限制一次没有记录,那就不再是这种情况了.看到:
http://livedocs.adobe.com/flex/3/langref/flash/net/URLRequest.html#requestHeaders
"[...] 由于浏览器的限制,自定义HTTP请求标头仅支持POST请求,而不支持GET请求. [...]"
归档时间: |
|
查看次数: |
12941 次 |
最近记录: |