gpt4 book ai didi

actionscript-3 - 从 Flash 请求带有 + 号的 URL

转载 作者:行者123 更新时间:2023-12-04 08:26:07 24 4
gpt4 key购买 nike

我在 Amazon S3 上托管图像并在我的 Flash 应用程序中使用它们。我的应用程序收到指向 S3 中图像的签名 S3 url。 URL 看起来像这样(为清楚起见添加了换行符):

http://s3.amazonaws.com/my-bucket/my-image.jpg?
AWSAccessKeyId=AKIAI7PSLIMJFIA2JRQG&
Expires=1313812683&
Signature=yhnSe47GRjReUQlfG/S/A+JJTdo=

这里的问题是签名中可能出现的 + 符号。如果我按原样发送 + 符号,那么浏览器会认为它是一个空格,根据 URL 规范它应该如此。确实,出于这个原因,S3 不应该使用 + 符号,但它似乎是 something they overlooked .

通常这不是问题,因为您只需将 + 符号替换为 %2B。但是,Flash 有一些默认行为,这使得这很困难。

据我所知,URLRequest 对象设置为始终 对 URL 进行编码,就好像它是通过 encodeURI 函数传递的一样。我看不出有什么办法可以关闭它。不幸的是,encodeURI 不对 + 符号进行编码,但它确实% 符号进行编码。

这意味着如果我将 + 符号留在那儿,Flash 就会不理会它,S3 会认为我的 URL 中有一个空格。如果我使用 %2B,则 Flash 会将其转换为 %252B,因为对 % 进行了编码。呸!

有没有人看到我所缺少的解决方法?

最佳答案

我认为它不会自动更改提交给它的 url。 Adobe 的文档甚至告诉您要小心并转义不常见的字符。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequest.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6

关于actionscript-3 - 从 Flash 请求带有 + 号的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7129400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com