首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中使用HTTP客户端库时遇到错误

在Python中使用HTTP客户端库时遇到错误
EN

Stack Overflow用户
提问于 2018-09-17 00:21:44
回答 1查看 670关注 0票数 0

我正在使用HTTP客户端库向服务器发送一个RESTful GET。这是我的代码:

代码语言:javascript
复制
import http.client
conn = http.client.HTTPSConnection("")
headers = { 'authorization': "Bearer eyJ0eXAiOiJKV1QiLCJhbG.....JNa0UyT" }
conn.request("GET", "https://xxxx-xxxx.auth0.com/api/v2/jobs/job_xxxxxx", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

这是一个错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "getResult.py", line 4, in <module>
    conn.request("GET", "https://xxxxxx.auth0.com/api/v2/jobs/job_xxxxxx", headers=headers)
  File "/usr/lib/python3.5/http/client.py", line 1106, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.5/http/client.py", line 1151, in _send_request
    self.endheaders(body)
  File "/usr/lib/python3.5/http/client.py", line 1102, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
    self.send(msg)
  File "/usr/lib/python3.5/http/client.py", line 877, in send
    self.connect()
  File "/usr/lib/python3.5/http/client.py", line 1252, in connect
    super().connect()
  File "/usr/lib/python3.5/http/client.py", line 849, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "/usr/lib/python3.5/socket.py", line 693, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/usr/lib/python3.5/socket.py", line 732, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

我也不知道原因。能帮我个忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-17 01:19:36

查看official docs,您应该使用主机名和端口实例化连接,然后使用端点字符串执行GET only。您实际上是在向服务器"“询问资源"https://xxxx-xxxx.auth0.com/api/v2/jobs/job_xxxxxx

Examples

代码语言:javascript
复制
conn = http.client.HTTPSConnection("https://xxxx-xxxx.auth0.com")
headers = { 'authorization': "Bearer eyJ0eXAiOiJKV1QiLCJhbG.....JNa0UyT" }
conn.request("GET", "/api/v2/jobs/job_xxxxxx", headers=headers)

无论如何,我建议你使用requests进行超文本传输协议调用。在这种情况下,它是事实上的库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52356086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档