Angularjs 阿帕奇科尔多瓦和玩!框架CORS问题
我了解到,Cordova在其http请求头中设置的原始请求来自“file://”(为什么?)。Angularjs 阿帕奇科尔多瓦和玩!框架CORS问题,angularjs,cordova,playframework,Angularjs,Cordova,Playframework,我了解到,Cordova在其http请求头中设置的原始请求来自“file://”(为什么?)。 所以我测试了一下,问我的服务器是否运行在Play上!对于这样的请求: curl -H "Origin: file://" -H "Access-Control-Request-Method: GET" --verbose https://claude.wtf/organizers/1 我得到了预期的HTTP代码403(如前所述,似乎无法避免这种情况) 但是如果相同的请求($http.get(“ht
所以我测试了一下,问我的服务器是否运行在Play上!对于这样的请求:
curl -H "Origin: file://" -H "Access-Control-Request-Method: GET" --verbose https://claude.wtf/organizers/1
我得到了预期的HTTP代码403(如前所述,似乎无法避免这种情况)
但是如果相同的请求($http.get(“https://claude.wtf/organizers/1“
)是由我的Cordova应用程序制作的,它可以工作(HTTP代码200)。。。我想知道为什么
但是,我更想理解的是为什么GET HTTP请求可以工作,而不是来自应用程序的POST请求(我得到的403 HTTP代码与curl请求中的相同)
最后,由于以下请求来自curl(我通过google.com更改了源代码):
我以为我可以通过修改我的应用程序发送的原始标头来找到一个漏洞,以使其正常工作,但以下请求也返回403(我想是因为Cordova拒绝将此标头设置为浏览器的标头,但我不明白为什么,因为它不是浏览器…):
请注意,我已经在Cordova应用程序中完全公开了所有内容,如的第一个答案所述
curl -H "Origin: http://google.com" -X POST --verbose https://claude.wtf/tracks/create
var req = {
method: 'POST',
url: 'https://claude.wtf/tracks/create',
headers: {
'Origin': 'http://google.com'
},
data: { test: 'test' }
};
$http(req)