我想知道pycurl中这个curl命令的等价物:
curl --data-binary @binary_data_file.bin 'http://server/myapp/method'
注意:上面的 curl 语句使用的是 POST 方法。我需要使用它来与我的服务器脚本兼容。
该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())
从 libcurl,setopt(...) 尝试这个选项:
CURLOPT_POSTFIELDSIZE
如果您想在不让 libcurl 执行 strlen() 来测量数据大小的情况下将数据发布到服务器,则必须使用此选项。使用此选项时,您可以发布完全二进制数据,否则可能会失败。如果此大小设置为 -1,则库将使用 strlen() 来获取大小。
http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTPOSTFIELDSIZE