来自jquery或XMLHttpRequest的HTTP GET到amazon aws失败,Access-Control-Allow-Origin不允许使用Origin

从jQuery或XMLHttpRequest获取amazon AWS安全令牌运气不佳。 当我从jQuery或XmlHttpRequest发送HTTP GET时,我得到“Origin http:// Access-Control-Allow-Origin不允许MY_IP。”但是如果我在浏览器中粘贴相同的URL,那一切都很顺利。

我的代码:

var url_ = "https://sts.amazonaws.com/?Action=GetSessionToken" + "&DurationSeconds=3600" + "&AWSAccessKeyId=" + AccessKeyId + "&Version=2011-06-15" + "&Timestamp=" + encode(timestamp) + "&Signature=" + encode(hash) + "&SignatureVersion=2&SignatureMethod=HmacSHA256"; $.get(url_, function(data) { alert("response: "+data); }); 

我的标题:

响应标题
Accept-Ranges字节
年龄198岁
连接保持活跃
内容长度3739
内容类型文本/ html
日期星期一,2012年6月25日17:48:20 GMT
Etag“48c4862-e9b-4c34f76b13400”
Last-Modified Mon,25 Jun 2012 17:39:28 GMT
代理连接保持活跃
服务器Apache / 2.2.21(Unix)mod_ssl / 2.2.21带有Suhosin-Patch的OpenSSL / 0.9.8r DAV / 2 PHP / 5.3.10

请求标题
接受text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8
接受编码gzip,收缩
Accept-Language en-us,en; q = 0.5
DNT 1
主持人MY_IP
If-Modified-Since Mon,25 Jun 2012 17:13:16 GMT
如果 – 无匹配“48c127c-ea2-4c34f18fe6300”
代理连接保持活动状态
用户代理Mozilla / 5.0(Macintosh; Intel Mac OS X 10.7; rv:12.0)Gecko / 20100101 Firefox / 12.0

浏览器标头(如果在浏览器中使用了URL)

响应标题
内容长度808
Content-Type text / xml
日期星期一,2012年6月25日17:31:54 GMT
x-amzn-RequestId a854ff13-beeb-11e1-b3ac-0147da731d96

请求标题
接受text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8
接受编码gzip,收缩
Accept-Language en-us,en; q = 0.5
连接保持活着
DNT 1
主持人sts.amazonaws.com
用户代理Mozilla / 5.0(Macintosh; Intel Mac OS X 10.7; rv:12.0)Gecko / 20100101 Firefox / 12.0

我尝试了http://www.html5rocks.com/en/tutorials/cors/中的一些代码,但没有运气

任何帮助表示赞赏

你刚才提出这个问题,你可能已经找到了答案,但万一有人正在寻找这个问题的答案,这里是:

Access-Control-Allow-Origin是执行在运行javascript的网页域之外的请求时XMLHttpRequest的安全function。

例如,网页http://foo.com/index.html正在为http://bar.com/query?a=b执行XMLHttpRequest请求,bar.com上的服务器必须放置Access-Control-Allow – 在响应标头中起作用以指定允许跨域请求。

遗憾的是,Amazon AWS未在响应标头中提供Access-Control-Allow-Origin,因此这意味着您无法使用此技术访问它。

唯一适用于AWS的技术是使用flash代理XMLHttpRequest,但这仅适用于安装了闪存的设备(无iphone或ipads)。

Interesting Posts