我尝试使用python脚本将curl命令转换为python请求。我可以找到uncrl模块,并可以使用它成功地转换一些curl命令。但我面临的问题是使我的脚本通用于所有curl命令。以下问题阻碍了我的工作。我正在尝试用python编写实用程序,它将从文本文件中获取curl命令,并将命令逐个转换为python请求。在
-u
,-X
等被拒绝。在curl-v-k-H“Content-Type:application/json”-H“同步id:00000000”- 0000-0000-0000-000000000001“-H”同步令牌: nhbszphbtflz9gm1nlr5f8e0wlgqitg4o00jb006m5vcs00xvqzrdhcftyv4yozd5s02z3x1irhowqinglp2og“-H”实例_id:实例_id“-X GET”example.com网站' curl-v-k-H“内容类型:application/json”-H“sync_id:00000000-0000-0000-0000-000000000001”-H“同步标记:nhbszphbtflz9gm1nlr5f8e0wlgqitg4o00jb006m5vcs00xvqzrdhcftyv4yozd5s02z3x1irhowqinglp2og”-H“instance_id:instance_id”-X POST-d'[{“id”:“1”,“名称”:“1”,“env_mapping_name”:“a”,“env_mapping_id”:“a1”}]'example.com网站'
我用来转换的python代码。在
import uncurl
command = 'curl -v -k -H "Content-Type: application/json" -H "sync_id: 00000000-0000-0000-0000-000000000001" -H "sync_token: NhbSzPhbtFlZ9Gm1nLr5f8e0WLGQitG4o00jb006m5Vcs00XVqzRdHcFtyv4YOzd5S02Z3x1iR5OWQINgLP2Og" -H "instance_id: instance_id" -X GET 'example.com'
print uncurl.parse(command)
我去掉了tags和curl选项,它们给了我如下的异常。在
^{pr2}$当我使用下面的curl命令进行转换时,我得到了一个异常。在
'curl -v --proxy-user "00dcf6e7-4513-4e46-bbaf-ef4cac8f8d47":"XUmh8pIG68Zo" -X GET "example.com" --proxy 127.0.0.1:8080 -k'
这里的-U
选项很麻烦。同样的,我也观察到了其他的例外情况。所以我不确定我是否正确地使用了uncril。
所有curl命令都是在使用联机转换器时从curl.trillworks.com网站.
你能告诉我如何把curl命令转换成python请求吗?在
****:-我可以使用“runcurl”包发送curl命令。根据我的理解,uncrl包有发送curl请求的局限性,runcurl通过提供'execute'方法来连接curl请求。我使用了下面的代码。
import runcurl
cmd = "curl -v -u "00dcf6e7-4513-4e46-bbaf-ef4cac8f8d47":"XUmh8pIG68Zo" -X GET "https://example.com" -k"
#strip off the curl options like -k, -v, -X, GET which causes runcurl to #throw exception.
try:
code = runcurl.execute(command)
except:
code = 400
//Write the failed cases in some file for further references
如前所述,我必须去掉curl支持的选项,比如'-k'、'-v'。在上面的curl命令中,身份验证选项与“-u”选项一起提供。但是runcurl抛出了一个异常。 在这一点上我正在寻求帮助。我的期望是对于curl支持的必需选项,“runcurl”不应该出错。例如:-'-u'选项。我错过什么了吗?有没有更好的方法来处理上面的curl命令? 注意:-我尽量避免使用'subprocess.call在我的代码中调用curl命令。在
目前没有回答
相关问题 更多 >
编程相关推荐