9

pycurl でこの curl コマンドに相当するものを知りたい:

curl --data-binary @binary_data_file.bin 'http://server/myapp/method'

注: 上記の curl ステートメントは POST メソッドを使用しています。サーバースクリプトとの互換性のためにこれを使用する必要があります。

4

2 に答える 2

9

requestsライブラリは、次のようなことをシンプルに保つことを目的としています。

import requests
r = requests.post('http://server/myapp/method', data={'aaa': 'bbb'})

または、受信側がデータを期待する方法に応じて:

import requests
r = requests.post('http://server/myapp/method',
    data=file('binary_data_file.bin','rb').read())
于 2012-07-12T02:44:35.197 に答える
2

libcurl から、setopt(...) 次のオプションを試してください。

CURLOPT_POSTFIELDSIZE

libcurl に strlen() を実行させてデータ サイズを測定させずに、データをサーバーにポストする場合は、このオプションを使用する必要があります。このオプションを使用すると、完全にバイナリ データを送信できますが、そうしないと失敗する可能性があります。このサイズが -1 に設定されている場合、ライブラリは strlen() を使用してサイズを取得します。

http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTPOSTFIELDSIZE

于 2013-10-31T05:34:38.710 に答える