2

目的: プロキシのリストを循環し、サーバー上の PHP ページにファイルを含むポスト リクエストを送信し、配信時間を計算するスクリプト。これはかなり役に立たないスクリプトですが、urllib2 について独学するために使用しています。

問題 : これまでのところ、 Posterを使用して multipart/form-data を正しく送信できましたが、プロキシの循環リストは言うまでもなく、プロキシ経由で送信することもできません。で OpenerDirector を使用してみましたが、魔法を実行する独自のオープナーを定義しているとurllib2.ProxyHandler思います。Poster

以下は、ポスター付きの multipart/form-data リクエストを送信するコードです。

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 に答える