尝试将PHP转换为Python并遇到语法错误

0 投票
2 回答
502 浏览
提问于 2025-04-16 14:38

我正在尝试把一些PHP代码转换成Python,并且在使用curl这个库。我已经把大部分代码都改好了,但当我到达这行代码:result = pycurl.exec(Moe)时,它总是报语法错误。我想我可能没有正确填写exec这个部分,但我就是搞不清楚哪里出错了。

from urllib2 import urlopen
from ClientForm import ParseResponse
import cgi, cgitb 
import webbrowser
import curl, pycurl

Moe = pycurl.Curl(wsdl)
Moe.setopt(pycurl.POST, 1)
Moe.setopt(pycurl.HTTPHEADER, ["Content-Type: text/xml"])
Moe.setopt(pycurl.HTTPAUTH, pycurl.BASIC)
Moe.setopt(pycurl.USERPWD, "userid:password")
Moe.setopt(pycurl.POSTFIELDS, Larry)
Moe.setopt(pycurl.SSL_VERIFYPEER, 0)
Moe.setopt(pycurl.SSLCERT, pemlocation)
Moe.setopt(pycurl.SSLKEY, keylocation)
Moe.setopt(pycurl.SSLKEYPASSWD, keypassword)
Moe.setopt(pycurl.RETURNTRANSFER, 1)
result = pycurl.exec(Moe)
pycurl.close(Moe)

2 个回答

1

exec 是 Python 中的一个保留字,你不能创建一个叫这个名字的函数。建议你去看看 pycurl 的文档,了解一下你应该调用哪个函数。

我自己没有用过 pycurl,但也许你想调用 Moe.perform() 呢?

1

使用 result = Moe.perform() 来执行你的请求。


附注:

Moe.setopt(pycurl.POSTFIELDS, Larry)

Larry 真的算是一个变量吗?如果它是一个字符串,就加上引号。

撰写回答