2013-04-17 224 views
-3

我是python的新手,我想使用python自動化使用POST xml請求到目標URL。使用python POST xml請求

目前我在我的程序中出現一些錯誤,我無法執行此活動。

我當前的代碼如下:

#!/usr/bin/python 
# Post XML to a web service and get XML results. 
# For more robust HTTP error handler use FancyURLOpener 
# E Begoli 
import urllib 
import httplibimport 
import httplib 
from xml.dom.minidom import parse, parseString 
target_url = "http://TestLocation&pagesize=50" 
xml_request = """\ 
<?xml version='1.0' encoding='UTF-8' ?> 
     <<criteria> 
    <includeFilterSets> 
     <filterSet> 
      Test 
     <filterSet> 


「」」 #發送XML請求URL #與參數請求 # DEF send_xml(): 結果=了urllib.urlopen (target_url,urllib.urlencode({'request':xml_request})) #parse結果並打印xml #或做任何事情 dom = parse(result) prin牛逼dom.toprettyxml() result.close() DEF的main(): send_xml() 如果 == 「主要」: 的main()

+0

我建議你使用的要求庫http://docs.python-requests.org/en/latest/比urllib的 –

+0

@MikkoOhtamaa更容易和我是新來的蟒蛇,所以不要有太多的知識對所有這些東西。請根據您的建議修改我的代碼。謝謝 –

+0

不幸的是,我很懶。如果我是你,我只會閱讀請求文檔,研究它並使用請求庫重寫代碼。 –

回答

1

的幾乎最先學習的東西Python,它是身份。

def send_xml(): 
    result = urllib.urlopen(target_url, urllib.urlencode({'request':xml_request})) 
    #parse results and print the xml 
    # or do whatever with it 
    dom = parse(result) 
    print dom.toprettyxml() 
    result.close() 

def main(): 
    send_xml() 

if __name__ == "__main__": 
    main()