2014-01-14 4 views
1

У меня есть следующий завиток, который мне нужен для работы с python с использованием пакета запросов.Эквивалент curl-кода в запросах

curl -s -H 'Accept: application/xml' 'https://xyz.com' 

Я пробовал следующее без успеха. Вы видите, что я делаю неправильно здесь?

headers = {'Accept': 'application/xml'} 
print requests.get("https://xyz.com", headers=headers) 

Через несколько секунд я получаю это:

print requests.get("https://xyz.com", headers=headers) 
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 55, in get 
return request('get', url, **kwargs) 
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 44, in request 
return session.request(method=method, url=url, **kwargs) 
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 383, in request 
resp = self.send(prep, **send_kwargs) 
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 486, in send 
r = adapter.send(request, **kwargs) 
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/adapters.py", line 389, in send 
raise SSLError(e) 
requests.exceptions.SSLError: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol 

Fix: Вызовы не были эквивалентны, поскольку локон вызов был HTTP, в то время как вызов запросов был протокол HTTPS.

+0

«нет успеха» на самом деле не много говорить - пожалуйста, подробно о том, что не сделало Работа! – codeling

+0

Достаточно честный. Я редактировал вопрос. Благодаря! – Oliver

+0

возможно это поможет: http://stackoverflow.com/questions/16748994/python-ssl-connection-eof-occurred-in-violation-of-protocol? – codeling

ответ

0

Вы можете добавить verify аргумент для проверки SSL, как это:

requests.get("https://xyz.com", headers=headers, verify=True) 

Надеется, что это поможет;)

Смежные вопросы