python - pycurl请求中的表单数据

标签 python rest post pycurl

我想用 pycurl 发出以下 curl 请求:

curl -v \
-H Accept:application/json \
-F "model={
name: 'zxy',
targets: [ 'abc']
}" \
-F "deployment=@/deployments/MyApp.ear" \
-X POST https://abc.cde

如何将 -F 选项后的内容放入后场?

我目前:

c = pycurl.Curl()
c.setopt(pycurl.URL, "https://abc.cde")
c.setopt(pycurl.HTTPHEADER, ['Accept:application/json'])
c.setopt(pycurl.POST, 1)
# set postfield somehow

最佳答案

这是我对你的 curl 脚本的转换。

#!/usr/bin/python
import os, sys, pycurl
model = """{
name: 'zxy',
targets: [ 'abc']
}"""
path = '/deployments/MyApp.ear'
c = pycurl.Curl()
c.setopt(pycurl.URL, 'https://abc.cde')
c.setopt(pycurl.HTTPHEADER, ['Accept:application/json'])
send = [("model", model),
        ('deployment', (pycurl.FORM_FILE, path)),]
c.setopt(pycurl.HTTPPOST, send)
#c.setopt(pycurl.VERBOSE, 1)
c.perform()
print c.getinfo(pycurl.RESPONSE_CODE)
c.close()

在表单上找到 pycurl 的例子并不容易。 doc 中没有, 所以我下载了 source并使用了 tests/post_test.py

关于python - pycurl请求中的表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31789677/

相关文章:

python - 类工厂和抽象基类

Python:文件中的字母数,简单而有效的方法

android - 基本身份验证 session 管理 Domino

python - 如何用 Python 获取 Json 数据?

python - 使用 Scrapy Request 上传验证码图片

python - 将 Python 嵌入到 C 中

Python Plotly 登录错误

python - 使用带有 graphql 查询的 API 在 R 上抛出 401 错误,但在 Python 上工作正常

reactjs - 如何在 React 中对输入进行 Base64 编码?

android - 将值从 Android 传递到 JSP