私はPython /フラスコで書かれたAPIを持っています。私はこのAPIにアクセスするためにいくつかのURLだけを許可したいと思います。 JavaScriptの呼び出しは次のように、些細なjQueryのです:Flask Access-Control-Allow複数のURLの起源
$.ajax({
url: "http://myApi.com/api/doit",
dataType:'JSON',
success:function(data){
console.log("DEBUG: yeeeeaaaahhh!");
},
error:function(xhr){
console.log("Error occured! status: " + xhr.status + ", text: " + xhr.statusText);
}
});
主にここでのソリューションのほとんどは、常にAccess-Control-Allow-Origin : '*'
を設定したり、チェックを無効にクロムを開始するために提供し、かなりがっかりしています。もちろん動作しますが、これは目的ではありません。 w3の仕様では、セミコロンで区切られたリストが機能するはずだが、そうではないという。カンマで区切られたリストも失敗しました。 フラスコ自体からはhttp://flask.pocoo.org/snippets/56/がありますが、複数のURLでは機能しません。コメントには、提案があります:h.extend([("Access-Control-Allow-Origin", orig) for orig in origin])
しかし、それでも動作しません。
私が持っている唯一の解決策は、原点をチェックして、白いリストにある場合は、Access-Control-Allow-Origin : '*'
というヘッダーに入れることです。これは回避策ですが、あまり好きではありません。より洗練されたソリューションを提案できますか?