AS3 URLRequest相关,浏览器请求头MIME类型引发的问题
2015-08-24 17:14
609 查看
最近工作遇到个问题,就是在air客户端中模拟登录某OTA站点获取到订单数据后,然后处理新订单时会出错,错误提示“不存在的订单号”,查询了好几天原因才发现竟然是我发送请求时的contentType不对。AS3中的URLrequest的contentType属性是data 属性中内容的 MIME 内容类型,其默认值是 application/x-www-form-urlencoded,但是之前有发送类似的请求,其mime类型为json格式,然后就没有注意到这个问题,一直以jsontype的格式发送,application/json;charset=UTF-8。导致浪费很多时间。还好终于发现并解决了。
发送 POST 请求时,contentType 和 data 属性的值必须正确对应。contentType 属性的值表示服务器如何解释 data 属性的值。
如果 data 属性的值是一个 URLVariables 对象,则 contentType 的值必须是 application/x-www-form-urlencoded。
如果 data 属性的值为其他类型,则 contentType 的值应表示将要发送的 POST 数据的类型(该数据为 data 属性的值中包含的二进制或字符串数据)。
对于 FileReference.upload(),请求的内容类型将自动设置为 multipart/form-data 并忽略 contentType 属性的值。
在 Flash Player 10 和更高版本中,如果使用包含上载(由 POST 体内的“content-disposition”标头中的“filename”参数表示)的 multipart Content-Type(例如“multipart/form-data”),则 POST 操作会受应用于上载的安全规则的约束:
必须执行 POST 操作以响应用户启动的操作(如鼠标单击或按键)。
如果 POST 操作是跨域的(POST 目标与发送 POST 请求的 SWF 文件不在同一台服务器上),则目标服务器必须提供一个允许跨域访问的 URL 策略文件。
另外,对于任何 multipart Content-Type,语法必须有效(根据 RFC2046 标准)。如果语法无效,则 POST 操作受应用于上载的安全规则约束。
发送 POST 请求时,contentType 和 data 属性的值必须正确对应。contentType 属性的值表示服务器如何解释 data 属性的值。
如果 data 属性的值是一个 URLVariables 对象,则 contentType 的值必须是 application/x-www-form-urlencoded。
如果 data 属性的值为其他类型,则 contentType 的值应表示将要发送的 POST 数据的类型(该数据为 data 属性的值中包含的二进制或字符串数据)。
对于 FileReference.upload(),请求的内容类型将自动设置为 multipart/form-data 并忽略 contentType 属性的值。
在 Flash Player 10 和更高版本中,如果使用包含上载(由 POST 体内的“content-disposition”标头中的“filename”参数表示)的 multipart Content-Type(例如“multipart/form-data”),则 POST 操作会受应用于上载的安全规则的约束:
必须执行 POST 操作以响应用户启动的操作(如鼠标单击或按键)。
如果 POST 操作是跨域的(POST 目标与发送 POST 请求的 SWF 文件不在同一台服务器上),则目标服务器必须提供一个允许跨域访问的 URL 策略文件。
另外,对于任何 multipart Content-Type,语法必须有效(根据 RFC2046 标准)。如果语法无效,则 POST 操作受应用于上载的安全规则约束。
相关文章推荐
- 类似与fiddler的抓包工具 burp suite free edition
- iOS开发-Day29-UI UIScrollView&多视图
- POJ3210 a stack or a queue
- MII、GMII、RMII、SGMII、XGMII、XAUI、Interlaken
- DuiLib : 使用CListUI显示海量数据
- JAVA UUID 生成
- easyiui textbox 光标 聚焦
- 程序检测系统是bios引导还是uefi引导
- UITabbarViewController+Navigation框架下的子视图的跳转示例之一
- UIActionSheet的常见用法
- poj 2051 priority_queue应用
- CF_313B_IlyaAndQueries
- 08-排序3. Talent and Virtue (25)
- 调用[[UIDevice currentDevice] userInterfaceIdiom]==UIUserInterfaceIdiomPad判断设备
- UE4 WorldPositionOffset
- 【已解决】Request exceeded the limit of 10 internal redirects due to probable configuration error.
- 关于UIView的autoresizingMask属性的研究
- UE3 供游戏性程序员的使用的性能最优化方法
- Codeforces 313B : Ilya and Queries
- UE4 Light Propagation Volumes