Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:urllib2多部分/表单数据和代理_Python_Proxy_Urllib2_Multipartform Data_Poster - Fatal编程技术网

Python:urllib2多部分/表单数据和代理

Python:urllib2多部分/表单数据和代理,python,proxy,urllib2,multipartform-data,poster,Python,Proxy,Urllib2,Multipartform Data,Poster,目标:一个脚本,在代理列表中循环并发送post请求,其中包含一个文件到我的服务器上的PHP页面,然后计算交付时间。这是一个非常无用的脚本,但我正在用它来自学urllib2 问题:到目前为止,我已经使用正确的方法发送了多部分/表单数据,但我无法通过代理发送数据,更不用说代理的循环列表了。我曾尝试将OpenerDirectory与urllib2.ProxyHandler一起使用,但我相信Poster定义了它自己的opener来实现它的魔力 下面是使用poster发送多部分/表单数据请求的代码 imp

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

问题:到目前为止,我已经使用正确的方法发送了多部分/表单数据,但我无法通过代理发送数据,更不用说代理的循环列表了。我曾尝试将OpenerDirectory与
urllib2.ProxyHandler
一起使用,但我相信
Poster
定义了它自己的opener来实现它的魔力

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

任何帮助都将不胜感激,因为我被难住了。

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

from urllib2 import ProxyHandler,build_opener,install_opener

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

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

install_opener(opener)

未定义代理服务器支持。这怎么可能对你有用呢?我自己想出来的,你的答案是可靠的建议,所以享受这些要点;)