8572


Firefox39でFetch APIを使い、User-Agentを意図的に変更してGETリクエストを送信したいのですが、うまくできません。
**サーバは127.0.0.1にあり、** 下記のようになっています。

[code]

    
    import http.server
    
    class handler(http.server.BaseHTTPRequestHandler):
        def do_GET(self):
            self.send_response(200, "OK")
            self.send_header("Access-Control-Allow-Origin", "*")
            print(self.headers["User-Agent"])
    
    server_address = ("", 8000)
    httpd = http.server.HTTPServer(server_address, handler);
    
    
[/code]

JavaScriptのコード

[code]

    
    fetch("http://localhost:8000", {
        "mode": "cors",
        "headers": {
            "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36" // ChromeのUser-Agent
        }
    })
    .then(() => console.log("Successed"))
    .catch(() => console.log("Failed"))
    
    
    
[/code]


CC BY-SA 3.0
2015-03-30T12:45:26.840
8571
2015-03-30T13:10:02.270
5246
question
javascript python ajax
Fetch APIでUser-Agentを変更したGETリクエストを送る


User-Agent をはじめとする一部ヘッダは変更することができません。

> [Headers - Web API Interfaces | MDN](https://developer.mozilla.org/en-
> US/docs/Web/API/Headers)
>
> For security reasons, some headers can only be controller by the user agent.
> These headers include the [forbidden header
> names](https://developer.mozilla.org/en-
> US/docs/Glossary/Forbidden_header_name) and [forbidden response header
> names](https://developer.mozilla.org/en-
> US/docs/Glossary/Forbidden_response_header_name).

これは XMLHttpRequest でも同様のようです。

  * [JQuery Ajax Request: Change User-Agent - Stack Overflow](https://stackoverflow.com/questions/5771878/jquery-ajax-request-change-user-agent)
  * [Chrome拡張でHTTPヘッダを改変 | 言葉の海のプログラマー](http://lostlinksearch.net/blog/2012/03/chrome%E6%8B%A1%E5%BC%B5%E3%81%A7http%E3%83%98%E3%83%83%E3%83%80%E3%82%92%E6%94%B9%E5%A4%89/)


CC BY-SA 3.0
2015-03-30T13:10:02.270
8572
2015-03-30T13:10:02.270
2017-05-23T12:38:56.467
-1
8000
8571
answer