我想使用请求Python库从标准输出上传/发送数据。 Documentation说data
可以是字节,字典或类文件对象,但是当我传递sys.stdin
(应该是类似文件的对象)时,它只是不发送数据。
script.py :
import sys, requests
requests.put('http://localhost:8080/test', sys.stdin)
print "done"
用
调用echo "lore ipsum" | python test.py
或
python test.py
使用Ctrl + D
结束输入
服务器上的请求是:
----- Request Start ----->
/test
Host: localhost:8080
Content-Length: 0
User-Agent: python-requests/2.5.1 CPython/2.7.8 Linux/3.16.6-2-desktop
Connection: keep-alive
Accept: */*
Accept-Encoding: gzip, deflate
<----- Request End -----
请不要我不想将stdin读取到像data = data.read()
这样的数组,因为文件可能是任意大的。
这是一个错误吗?我做错了什么吗?