python - 通过 HTTP POST 请求发送文本
问题描述
通过 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()
换句话说 - 服务器上的应用程序是否以两种方式获得了它所期望的?
解决方案
-d
将命令行中的字符串作为正文-d @
传递,将命令行中给出的文件内容作为正文传递。
你想要后者:
curl -X POST -d @lines.txt http://theserver.com/theendpoint
推荐阅读
- php - XAMPP - 如何从主目录执行 PHP 文件?
- python - python 正则表达式单独的赋值语句以分号结尾
- html -
- service-worker - esp8266/Nodemcu Service Worker - 获取脚本时发生未知错误
- java - Minecraft Modding 与 Java 和 Forge 分期付款
- sql - 如何克服 R 中除以零误差
- python - 使用 Python 在 Power BI 中自定义视觉对象
- django - GeoDjango - 点和多面体查询集之间的距离
- c++ - 为什么我的模板化函数需要从一个迭代器到另一个迭代器的转换?
- javascript - 无法让 React Grid Ag-grid 在屏幕宽度处自动调整大小