データを投稿する必要があるフォームがありますが、特定のユーザー エージェント文字列と HTTP/1.1 ヘッダーが必要です (ホストするだけでなく、POST 文字列で HTTP/1.1 を明示的に検索します)。
私はこれまで次のように試みました:
class AppURLopener(urllib.FancyURLopener):
version = "The User Agent String"
urllib._urlopener = AppURLopener()
def send_data(url, kv)
params = urllib.urlencode(kv)
f = urllib.urlopen(url, params)
data = f.read()
f.close()
ただし、これは Host: ヘッダーを使用して HTTP/1.0 経由で送信されます。urllib (および urllib2) のソースを見ると、すべてのコードパスが 1.5 から互換クラスとしてマークされている HTTPLib HTTP クラス オブジェクトをインスタンス化しているように見えます... urllib/URLOpener に HTTP の代わりに HTTPConnection を使用させる簡単な方法はありますか? または、必要な適切なヘッダーを取得するために欠落している別の解決策はありますか?