通过HTTP POST请求发送文本

时间:2019-09-20 16:17:57

标签: python http curl post endpoint

通过HTTP POST在远程期望文本上有一个应用程序终结点。

可以仅通过发送文本文件来完成此操作吗? 具体来说,我正在使用curl:

curl -X POST -d lines.txt http://theserver.com/theendpoint

还是我必须使用Python脚本将文本作为流发送?我尝试过:

def send_to_server(text):
    url = 'http://theserver.com/theendpoint'
    headers = {'content-type': 'text/plain'}
    r = requests.post(url=url, data=text, headers=headers)
    return r

其中text的创建者是:

output = io.StringIO()
output.write( some_function() ) # getting some text from a different function 
text = output.getvalue()

换句话说-服务器上的应用程序是否通过两种方式都能达到预期?

1 个答案:

答案 0 :(得分:0)

-d将命令行中的字符串作为正文传递,-d @中将命令行中给出的文件内容作为正文传递。

您想要后者:

curl -X POST -d @lines.txt http://theserver.com/theendpoint