Использование gerrit REST API

Я пытаюсь использовать REST API, доступные в gerrit версии 2.6. Ниже мой код:

import httplib
import urllib

conn = httplib.HTTPSConnection("<server-name>:<port-number>")
args=urllib.urlencode({'userName':'USER', 'password':'PASSWORD'})
headers={'Content-type':'application/json', 'Accept':'application/json'}
r1 = conn.request("post", "/a/changes", args)
r2 = conn.getresponse()


print r1,r2.status,r2.reason,r2

Когда я запускаю его, я получаю следующие ошибки "

Traceback (most recent call last):
File "./RestApi.py", line 10, in <module>
 r1 = conn.request("post", "/a/changes", args)
File "/usr/lib/python2.7/httplib.py", line 958, in request
 self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 992, in _send_request
 self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
 self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
 self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 776, in send
 self.connect()
File "/usr/lib/python2.7/httplib.py", line 1161, in connect
 self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file)
File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
 ciphers=ciphers)
File "/usr/lib/python2.7/ssl.py", line 143, in __init__
 self.do_handshake()
File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake
 self._sslobj.do_handshake()
ssl.SSLError: [Errno 1] _ssl.c:504: error:140770FC:SSL   routines:SSL23_GET_SERVER_HELLO:unknown protocol

Есть ли другой способ заставить это работать???


person Mr.attitude    schedule 22.01.2014    source источник


Ответы (1)


SSL-соединение с вашим сервером даже не работает:

подпрограммы: SSL23_GET_SERVER_HELLO: неизвестный протокол

Так что ты даже не дозвонишься до Геррита.

У вас есть SSL-прокси перед Герритом? Можете ли вы подключиться с помощью браузера к https://<server-name>:<port-number>?

Если вы не используете SSL, вам следует использовать не httplib.HTTPSConnection, а скорее httplib.HTTPConnection соединение.

person StephenKing    schedule 22.01.2014