繁体   English   中英

从jQuery或XMLHttpRequest到亚马逊AWS的HTTP GET失败,并且Access-Control-Allow-Origin不允许使用Origin

[英]HTTP GET to amazon aws from jquery or XMLHttpRequest fails with Origin is not allowed by Access-Control-Allow-Origin

从jQuery或XMLHttpRequest获取亚马逊AWS安全令牌的运气不好。 当我从jQuery或XmlHttpRequest发送HTTP GET时,出现“ Access-Control-Allow-Origin不允许使用原始http:// 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);
});

我的标题:

响应标题
接受范围字节
年龄198
连接保持活动
内容长度3739
内容类型text / html
日期,2012年6月25日,星期一17:48:20 GMT
Etag“ 48c4862-e9b-4c34f76b13400”
上次修改时间,2012年6月25日星期一17:39:28 GMT
代理连接保持活动
具有Suhosin-Patch的服务器Apache / 2.2.21(Unix)mod_ssl / 2.2.21 OpenSSL / 0.9.8r DAV / 2 PHP / 5.3.10

请求标题
接受text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8
接受编码gzip,放气
接受语言en-us,en; q = 0.5
DNT 1
主机MY_IP
如果修改时间自2012年6月25日星期一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
内容类型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,放气
接受语言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/zh-CN/tutorials/cors/的代码,但没有运气

任何帮助表示赞赏

您之前曾问过这个问题,您可能已经找到了答案,但是如果有人在寻找该问题的答案,这里是:

当执行运行JavaScript的网页域之外的请求时,Access-Control-Allow-Origin是XMLHttpRequest的安全功能。

例如,网页http://foo.com/index.htmlhttp://bar.com/query?a=b发出XMLHttpRequest请求,bar.com上的服务器必须将Access-Control-Allow -在响应标头中指定允许跨域请求。

不幸的是,Amazon AWS在响应头中未提供Access-Control-Allow-Origin,因此这意味着您无法使用此技术对其进行访问。

适用于AWS的唯一技术是使用Flash代理XMLHttpRequest,但这仅适用于已安装Flash的设备(没有iPhone或iPad)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM