2012-03-22 141 views
0

我通過捲曲PHP GET捲曲發佈的數據

ncServerURL='http://myserver/acertify.php' 
    # binaryptr = open('sampleamex.xml','rb').read() 
    # print binaryptr 
    c = pycurl.Curl() 
    c.setopt(pycurl.URL, ncServerURL) 
    c.setopt(pycurl.POST, 1) 
    c.setopt(pycurl.SSL_VERIFYPEER, 0) 
    c.setopt(pycurl.SSL_VERIFYHOST, 0) 
    header=["Content-type: text/xml","SOAPAction:run",'Content-Type: text/xml; charset=utf-8','Content-Length: '+str(len(xmldata))] 
    # print header 
    c.setopt(pycurl.HTTPHEADER, header) 
    c.setopt(pycurl.POSTFIELDS, "xml="+str(xmldata)) 
    import StringIO 
    b = StringIO.StringIO() 
    c.setopt(pycurl.WRITEFUNCTION, b.write) 
    c.perform() 
    ncServerData = b.getvalue() 
    return ncServerData 

調用PHP API和發佈XML數據。在acertify.php和我無法在PHP文件中的XML數據,我正在一個項目,我不知道在這個,我怎麼能捲曲張貼數據在這個文件。

<?php 

echo "hi"; 
print_r($_SESSION); 
print_r($_POST); 
// print_r($_FILES); 

?> 
+1

通過echo $ HTTP_RAW_POST_DATA解決; – XMen 2012-03-22 10:05:43

回答

0

如果你的意思是讓POST數據在PHP,那麼乍看起來,你要發送一個單場c.setopt(pycurl.POSTFIELDS, "xml="+str(xmldata))

所以它應該只是$_POST['xml']

如果你的意思讀數據curl作爲響應,然後curl應該在執行時擁有returntransfer選項(我不熟悉python語法)

+0

my $ _POST ['xml']即將空白 – XMen 2012-03-22 09:43:52

+0

我們不能在PHP中編寫這個東西嗎? – XMen 2012-03-22 09:50:08

+0

也許你應該通過post params作爲數組? – 2012-03-22 09:51:40