6

urllib2 はデフォルトで HTTP/1.1 リクエストを送信するようですか?

4

2 に答える 2

6

モンキー パッチ (グローバルな変更) を避けるために、独自の http ハンドラーをサブクラス化して定義するhttplibことができます。HTTPConnection

#!/usr/bin/env python
try:
    from httplib import HTTPConnection
    from urllib2 import HTTPHandler, build_opener
except ImportError: # Python 3
    from http.client import HTTPConnection
    from urllib.request import HTTPHandler, build_opener

class HTTP10Connection(HTTPConnection):
    _http_vsn = 10
    _http_vsn_str = "HTTP/1.0" 

class HTTP10Handler(HTTPHandler):
    def http_open(self, req):
        return self.do_open(HTTP10Connection, req)

opener = build_opener(HTTP10Handler)
print(opener.open('http://stackoverflow.com/q/13656757').read()[:100])
于 2014-04-13T10:48:02.387 に答える