2015-01-06 6 views
0

Я хочу преобразовать следующую команду в python.curl command using python и xml

curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET "https://api.globalgiving.org/api/public/projectservice/all/projects/ids?api_key=YOUR_API_KEY" 
+0

вы хотите позвонить эту команду в Python? Вы можете использовать подпроцесс для вызова команды с несколькими аргументами. – Bestasttung

ответ

0

Попробуйте это:

import urllib 

website = urllib.urlopen('http://www.google.com/') 
siteData = website.read() 
print siteData 

Это может помочь.

+0

Вы также можете посетить http://stackoverflow.com/questions/2667509/curl-alternative-in-python –

0

Я не единственный, кто рекомендовал бы использовать большую HTTP-библиотеку для людей, называемую requests.

Установите его:

$ pip install requests 

и использовать следующим образом:

>>> import requests 
>>> headers = {"Accept": "application/xml", "Content-Type": "application/xml"} 
>>> url = "https://api.globalgiving.org/api/public/projectservice/all/projects/ids" 
>>> req = requests.get(url, headers=headers, params={"api_key": "YOUR_API_KEY"}) 
>>> req.ok 
False 
>>> req.status_code 
401 
>>> req.text 
u"<?xml version='1.0' encoding='UTF-8'?>\n<error_response>\n <error_code>401</error_code>\n <errors>\n <error>\n  <error_message>api_key [YOUR_API_KEY] is not registered in the system.</error_message>\n </error>\n </errors>\n <status>Unauthorized</status>\n</error_response>"