2

目标:一个脚本,它循环遍历代理列表并发送一个发布请求,其中包含一个文件到我服务器上的 PHP 页面,然后计算交付时间。这是一个非常无用的脚本,但我正在使用它来自学 urllib2。

问题:到目前为止,我已经使用Poster正确发送了 multipart/form-data ,但我无法让它通过代理发送,更不用说代理的循环列表了。我曾尝试将 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()

任何帮助将不胜感激,因为我很难过。

4

1 回答 1

5

您可以在请求页面之前添加这样的代理安装程序。

from urllib2 import ProxyHandler,build_opener,install_opener

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

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

install_opener(opener)
于 2009-11-27T05:30:01.407 回答