使用 python http.client 访问 korbit api

accessing korbit api with python http.client

我一直在尝试访问以下 api: https://api.korbit.co.kr/v1/ticker/detailed

我知道我可以使用任何互联网浏览器访问它, 但我很难将其实施到 python.

我使用了以下代码:

import http.client

conn = http.client.HTTPSConnection("https://api.korbit.co.kr", 443)
conn.request("GET", "/v1/ticker/detailed")
response = conn.getresponse()
data = response.read()
conn.close()

回溯:

Traceback (most recent call last):
  File "C:/Users/K/PycharmProjects/nektie/test.py", line 4, in <module>
    conn.request("GET", "/v1/ticker/detailed")
  File "C:\Python34\lib\http\client.py", line 1090, in request
    self._send_request(method, url, body, headers)
  File "C:\Python34\lib\http\client.py", line 1128, in _send_request
    self.endheaders(body)
  File "C:\Python34\lib\http\client.py", line 1086, in endheaders
    self._send_output(message_body)
  File "C:\Python34\lib\http\client.py", line 924, in _send_output
    self.send(msg)
  File "C:\Python34\lib\http\client.py", line 859, in send
    self.connect()
  File "C:\Python34\lib\http\client.py", line 1221, in connect
    super().connect()
  File "C:\Python34\lib\http\client.py", line 836, in connect
    self.timeout, self.source_address)
  File "C:\Python34\lib\socket.py", line 491, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "C:\Python34\lib\socket.py", line 530, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11004] getaddrinfo failed

http.client.HTTPSConnection 接受主机名,而不是 url。

conn = http.client.HTTPSConnection("api.korbit.co.kr", 443)

顺便说一句,我建议使用 python-requests:

这样的库
import requests

r = requests.get('https://api.korbit.co.kr/v1/ticker/detailed')
data = r.json()