2013-04-17 2 views
-3

Я новичок в python, и я хотел бы автоматизировать API с помощью python с помощью запроса POST xml на целевой URL.POST xml запрос с использованием python

В настоящее время я получаю некоторые ошибки в своей программе, и я не могу выполнять эту деятельность.

Мой текущий код выглядит следующим образом:

#!/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-адрес # с запросом параметра # Защиту send_xml(): результат = urllib.urlopen (target_url, urllib.urlencode ({'request': xml_request})) #Просмотреть результаты и распечатать xml # или делать что угодно с ним dom = parse (result) prin т dom.toprettyxml() result.close() Защиту основной(): send_xml() если имя == "главный": основной()

+0

Я предлагаю вам использовать запросы библиотеки http://docs.python-requests.org/en/latest/, которые легче, чем URLLIB –

+0

@MikkoOhtamaa хорошо, как я новичок в Python, так что не имеют много знаний обо всем эти вещи. можете ли вы изменить код для меня в соответствии с вашим предложением. Спасибо –

+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() 
Смежные вопросы