2011-03-29 56 views
0

我試圖將一些php代碼轉換爲python並使用curl。我已經獲得了大部分接受,但是當它到達result = pycurl.exec(Moe)時,它會一直拋出語法錯誤。我想我沒有正確填寫執行字段,但我似乎無法弄清楚它出錯的地方。試圖將php轉換爲python並獲取語法錯誤

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) 
+1

請包括您收到的錯誤消息 – 2011-03-29 11:41:27

+0

Fyi,通常您對類和「lower_underscore」使用'UpperCamelCase'來獲取包括類實例的變量。所以命名你的變量'moe'會更好。 – ThiefMaster 2011-03-29 11:43:01

+0

CGI錯誤 指定的CGI應用程序因未返回一組完整的HTTP標頭而出現故障。它沒有返回標頭是: 文件 「C:\的Inetpub \ wwwroot的\ EVILWEBS \ writefile.py」 63行 結果= pycurl.exec(MOE) ^ 語法錯誤:無效的語法 – DJG 2011-03-29 11:54:19

回答

1

使用result = Moe.perform()來執行您的請求。


PS:

Moe.setopt(pycurl.POSTFIELDS, Larry) 

Larry實際上是一個變量?如果它是一個字符串,請引用它。

+0

拉里是一個字符串變量。 如果我使用Moe.perform,那麼我得到以下錯誤 CGI錯誤 指定的CGI應用程序由於未返回一組完整的HTTP標頭而出現異常。它沒有返回標頭是: 回溯(最近通話最後一個): 文件 「C:\的Inetpub \ wwwroot的\ EVILWEBS \ writefile.py」,第27行,在 萌= pycurl.Curl(WSDL) 類型錯誤: Curl()不需要參數(給出1) – DJG 2011-03-29 11:53:02

1

exec是Python中的保留字,您不能擁有該名稱的功能。嘗試閱讀pycurl文檔,看看你應該調用什麼函數。

我沒有使用pycurl自己,但也許你想打電話Moe.perform()

相關問題