Python: urllib2 multipart / form-data и прокси - PullRequest
2 голосов
/ 27 ноября 2009

Цель : скрипт, который циклически просматривает список прокси и отправляет запрос на публикацию, содержащий файл на страницу PHP на моем сервере, который затем рассчитывает время доставки. Это довольно бесполезный скрипт, но я использую его, чтобы научить себя urllib2.

Проблема : До сих пор у меня была правильная отправка мультичастных / форм-данных с использованием Poster , но я не могу заставить его отправлять через прокси, не говоря уже о циклическом список прокси. Я пытался использовать OpenerDirector с urllib2.ProxyHandler, но я верю, что Poster определяет свой собственный открыватель для выполнения своей магии.

Ниже приведен код для отправки составного запроса / данных формы с постером.

import urllib2
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers

fields = {"type": "image",
          "fileup": open("/home/chaz/pictures/test.jpg", "rb")
         }

register_openers() #I believe this is the key
datagen, headers = multipart_encode(fields)
request = urllib2.Request("http://foo.net", datagen, headers)

lastResponse = urllib2.urlopen(request).read()

Любая помощь будет высоко ценится, поскольку я в тупике.

1 Ответ

5 голосов
/ 27 ноября 2009

вы можете добавить прокси-инсталлятор как этот, прежде чем запрашивать страницу.

from urllib2 import ProxyHandler,build_opener,install_opener

PROXY="http://USERNAME:PASSWD@ADDRESS:PORT"

opener = build_opener(ProxyHandler({"http" : PROXY}))

install_opener(opener)
...