Python:urllib2 multipart/formdata和代理

2024-06-08 12:24:10 发布

您现在位置:Python中文网/ 问答频道 /正文

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

问题:到目前为止,我已经使用Poster正确地发送了多部分/表单数据,但无法通过代理发送,更不用说代理循环列表了。我尝试过使用带urllib2.ProxyHandler的OpenerDirector,但是我相信Poster定义了它自己的开启器来执行它的魔力。在

下面是用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()

如果有人帮我,我将不胜感激。在


Tags: 数据fromimport脚本register表单代理fields
1条回答
网友
1楼 · 发布于 2024-06-08 12:24:10

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

from urllib2 import ProxyHandler,build_opener,install_opener

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

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

install_opener(opener)

相关问题 更多 >