首页 > 解决方案 > 使用python3将curl转换为pycurl格式

问题描述

我正在使用 python3 pycurl 模块发送发布请求。我有这种格式的卷曲请求..

curl -X POST
 --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{
 "from": "0xdd1b1f8a644be8e1f41fbe6d7db25b56301ac6a2",
 "to": "0x90299471062a53cc9e675b273901baa65e641fad",
 "data":"0xf6b7280400000000000000000000000000000000000000000000000000000000000000450000000000000000000000000000000000000000000000000000000000000001"}],
 "id":1}' 
 -H "Content-Type: application/json"  http://127.0.0.1:5436

我正在用 pycurl 做这样的事情。

import pycurl
import json

my_url = 'http://127.0.0.1:5436'
data = json.dumps({"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"from": "0xdd1b1f8a644be8e1f41fbe6d7db25b56301ac6a2","to": "0x90299471062a53cc9e675b273901baa65e641fad","data": "0xf6b7280400000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000001"}],"id":1})

c = pycurl.Curl()
c.setopt(pycurl.URL, my_url)
c.setopt(pycurl.HTTPHEADER, ['Accept: application/json'])
c.setopt(pycurl.POST, 1)
c.setopt(pycurl.POSTFIELDS, data)
c.perform()

但它不工作。你能帮我在哪里做错了吗?多谢

标签: python-3.xhttpcurlpycurl

解决方案


Curl 有一个将 curl 命令转换为 libcurl 代码的选项,在下面的示例中,使用 --libcurl 选项后跟输出文件名来保存生成的代码“code.txt”,

注意c中的代码,但不难阅读并将其转换为python代码

Curl --libcurl code.txt theRestOfyourCommand

推荐阅读