【问题标题】:How to replicate this curl command in Python requests如何在 Python 请求中复制此 curl 命令
【发布时间】:2021-12-26 17:12:54
【问题描述】:

这是 curl 命令:echo Hello world. | curl -F 'f:1=<-' ix.io

我试过了,但它不起作用,因为服务器抛出了 400 而不是 200 状态代码。

import requests
requests.post("http://ix.io", files={"file": ("", "Hello world.")}, data={"f":"1=<-"})

我将如何复制该命令?

【问题讨论】:

  • 您具体要完成什么?上传“你好世界”。到服务器?或者将stdin的内容或一些文件上传到服务器?前者的答案很简单:requests.post("http://ix.io", data={"f": "Hello world."})。后面的答案是用您想要获取数据的方式替换字符串。
  • 嗯,就是这样,你错了,制作网站的人,制作的文档真的很糟糕,我和一个来自编码服务器的人想通了。数据实际上应该是data={"f:": "Hello world."},因为这家伙在文档中有f:N,我和你也认为它就像key:value 但它是key::value,我真的不知道为什么。

标签: python bash curl python-requests replicate


【解决方案1】:

这样你就可以让 ix.io 服务器接受 POST:

requests.post("http://ix.io", files={ 'f:1': ("Hello World") })

查看How to send a "multipart/form-data" with requests in python? 了解可以将什么作为files 参数的详细说明。

【讨论】:

  • 嘿,我对 Python 很了解,我已经解决了它,但你的答案不正确,看看我的回答:D 我问这个的唯一原因是因为文档真的很混乱。 ..
  • 好的。你说的不正确是什么意思?它可以工作并被 ix.io 服务器接受。
猜你喜欢
  • 2022-01-14
  • 2018-05-21
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 2013-08-24
  • 2015-12-14
相关资源
最近更新 更多