Отправка данных формы с помощью python, HTTP / 1.1 и настраиваемого пользовательского агента

У меня есть форма, в которую мне нужно отправлять данные, однако она должна иметь конкретная строка пользовательского агента и заголовки HTTP / 1.1 (а не только хост, он явно ищет HTTP / 1.1 в строке POST. )

Я пытался это сделать следующим образом:

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()

Однако это отправляется через HTTP / 1.0 с заголовком Host :. Глядя на источник urllib (и urllib2) Похоже, что все пути к коду создают экземпляр объекта HTTPLib HTTP Class, который помечен как совместимый класс с версии 1.5 ... Есть ли простой способ заставить urllib / URLOpener использовать HTTPConnection вместо HTTP? Или есть другое решение, которое мне не хватает для правильных заголовков, которые мне нужны?

1
задан Doug-W 6 October 2010 в 14:11
поделиться