ユーザーエージェントを変更する必要がある拡張機能からHTTPリクエストを送信しようとしています。Chrome拡張機能からXMLHttpRequestでユーザーエージェントを変更する
私のコードは次のようになります。そして、
function getXMLHttpRequest(method, url, extraHeaders) {
var xhr = new XMLHttpRequest();
xhr.open(method, url, true)
for (var headerKey in extraHeaders) {
xhr.setRequestHeader(headerKey, extraHeaders[headerKey]);
}
return xhr;
}
//....
getXMLHttpRequest("POST", "....", { "User-Agent": "Blahblahblah" })
、私はエラーを取得する「危険なヘッダを設定することを拒否:UserAgentの」
私のバックエンドを持っている必要がありますので、私はそれを変更する必要があります特別なUser-Agentは、拡張機能からそれを行うことは可能ですか?
リクエストを送信する前にヘッダーを変更するためにwebRequest APIを試しましたが、ロックを防止するために拡張機能から作成されたXMLHttpRequestでは機能しません。
@ExpertSystemただし、webRequest APIを使用してUserAgentを変更することはできます。これはdocの例の1つです。 http://developer.chrome.com/extensions/webRequest.html – HyLian
@ExpertSystem安全でないと判断されていることは分かっていますが、これは通常のjavascriptではなく、ブラウザの拡張機能です。ソケットを使用して必要なものを送信できます。なぜ任意のHTTPリクエストを送信することを許可しないのですか?クロス・オリジンの要求は、標準によっても禁止されており、マニフェストの適切な構成で行うことができます。 – HyLian
http://www.w3.org/TR/cors/これは、OPTIONSの応答でAccess-Control-Allow-Originが含まれていないWebサーバーにHTTPリクエストを送信できない方法について説明しています。私は自分のサーバーを変更していないので、XMLHttpRequestsをレスポンスのヘッダを含まないデスティネーションにすることができます。しかし、とにかく、私はXMLHttpRequestがそれを許すべきではないと言っています、私は自分のUser-Agentをchrome拡張の中に指定するHTTP Requestを作る方法を求めています。それはクロム* APIなどであってもかまいません。 – HyLian