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 回答