2011-12-07 24 views
2

人!私は現在、次のcURLの回線を使用するAPIで働いている:私は本当に唯一の行または2に変換する必要があるためcURLコマンドをPythonのurllib2に変換する

curl -vF "files[][email protected]" "http://s5.example.com/123" 

私は、そのようpycurlなど他のライブラリを使用することに興味がありません。私は本当にあなたの助けに感謝します!

+0

正確に何をしたいですか? – codersofthedark

答えて

2

必要なのは、urllibはモジュールurlopen方法..です。

構文: urllib2.urlopen(URL [データ] [タイムアウト])

データをサーバに送信するために追加のものを指定する文字列である

例:

import urllib 
tlds = urllib.urlopen("http://data.iana.org/TLD/tlds-alpha-by-domain.txt").readlines() 

この例では、tldsをiana.orgからクロールして、tldsという名前のリストにすべてのtldを抽出する1行のコードを示しています。

urlopenメソッドの複雑な操作/オプション/パラメータについては、公式ドキュメントを確認することができます:http://docs.python.org/library/urllib2.html

2

この要求は、ファイルのアップロードフィールドにファイルの内容を投稿します。 ファイルをアップロードするPOSTリクエストのHTTP本文は、組み立てるのが難しいです。通常のテキストフィールドの場合、urllib2.urlopen呼び出しのdata =パ​​ラメータで辞書を送信するだけで、フィールドが投稿されます。

ファイルのアップロードは、カスタムヘッダーを使用して複雑なhttp本体を送信する必要があります。 urllib2がこれを行うことができるかどうかは分かりませんが、httplibとmimetypes(どちらもPythonのstdlibの部分)を使ってコードサンプルを選んでプロジェクトで再利用できるようにした例が見つかりました:

http://code.activestate.com/recipes/146306-http-client-to-post-using-multipartform-data/