2017-01-08 16 views
0

Python новичок здесь!Как сделать GET-вызов в python с использованием сертификата для аутентификации

Я написал код ниже в C#, я хотел бы достичь такой же функциональности в python.

string serviceURL = "https://someurl"; 
       HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceURL); 
       request.Method = "GET"; 
       string path = @"C:\mycert.cer"; 
       X509Certificate Cert = X509Certificate.CreateFromCertFile(path); 

       Logger.Error(path); 

       request.ClientCertificates.Add(Cert); 

       HttpWebResponse WebResp = request.GetResponse() as HttpWebResponse; 

       var encoding = ASCIIEncoding.ASCII; 
       string responseText; 
       StreamReader reader = new System.IO.StreamReader(WebResp.GetResponseStream(), encoding); 
       using (reader = new System.IO.StreamReader(WebResp.GetResponseStream(), encoding)) 
       { 
        responseText = reader.ReadToEnd(); 
       } 

Я сделал поиск в google, но не нашел подходящих примеров.

ответ

0

Рекомендую посмотреть [просьба] [1] библиотека - это очень удобно и круто.

>>> import requests 
>>> r = requests.get('https://api.github.com/events') 
>>> print(r.status_code) 
200 
print(r.text) 
# ..... here response body goes ... 

Вы можете пройти проверить путь к файлу или каталогу CA_BUNDLE с сертификатами доверенных центров сертификации:

>>> requests.get('https://github.com', verify='/path/to/certfile') 
+0

Я получаю эту ошибку, когда я использую свой пример. "request.exceptions.SSLError: неизвестная ошибка (_ssl.c: 2826)" –

+0

По какому URL-адресу вы его получите? –

+0

Это внутренний корпоративный URL-адрес –