0

我正在使用 UrlRequest 将数据发送到服务器。我通过以下方式通过自定义 HTTP 标头发送各种参数:

urlRequest.requestHeaders.push(new URLRequestHeader("someheader", "somevalue"));

当请求到达我的 ASP.NET 端点(实现 IHttpHandler 的类)时,如果运行我的 Flex 应用程序的 Web 浏览器是 Google Chrome,则 HttpRequest Headers 属性不包含任何值。这适用于 IE6、IE7 和 Firefox。当我使用 Fiddler 查看流量时,如果浏览器是 Chrome,则自定义标头不存在。我在服务器上的 crossdomain.xml 是完全开放的,以允许所有标头:

<allow-http-request-headers-from domain="*" headers="*"/>

我知道通常通过将 UrlRequest 的数据属性设置为 UrlVariables 字典来发送参数,但在这种情况下我已经使用数据字段来发送 XML 流。

4

3 回答 3

1

浏览器限制了 Flash 应用程序在发出 HTTP 请求时可以发送的标头。不同的浏览器有不同的限制,但它们都有限制。

我最终在我的服务器上创建了一个代理,这样我就可以发送与各种第三方服务器通信所需的所有标头。

-布赖恩

于 2009-03-24T20:20:49.573 回答
0

但在这种情况下,我已经在使用数据字段来发送 XML 流

定义您的 xml 模型以包含这些标头。从您的问题看来,您觉得您受到数据属性的限制。

<xmlObjects>
    <headers>
        <header name="header1" value="foo" />
        <header name="header1" value="foo" />
    </headers>
    <data>
        <ip>102.201.102.1</ip>
        <name>Andrew Rea</name>
    </data>
</xmlObjects>

因此,如果我需要发送任何数据,我依赖于传输数据的模型设计。

安德鲁

于 2009-04-08T21:30:36.780 回答
0

如何在 flex 中发送自定义 http 标头的方法

http://yasob.blogspot.com/2009/05/accessing-http-request-parameter-in.html

于 2009-06-01T18:58:35.683 回答