2013-04-17 227 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()