【问题标题】:requests.get(url) return error code 404 from kubernetes api while the response could be get via curl/GETrequests.get(url) 从 kubernetes api 返回错误代码 404,而响应可以通过 curl/GET 获取
【发布时间】:2016-04-23 19:45:28
【问题描述】:

我在 kubernetes api 上使用 requests.get() 遇到了一个问题

url = 'http://10.69.117.136:8080/api/v1/namespaces/"default"/pods/tas-core/'
json = requests.get(url)
print json.content

错误代码 404 将返回为: {"kind": "Status","apiVersion": "v1","metadata": {},"status": "Failure","message": "pods \"tas-core\" not found","原因”:“未找到”,“详细信息”:{“名称”:“tas-core”,“种类”:“pods”},“代码”:404}

但如果我使用 GET/curl,则可以成功返回响应:

curl http://10.69.117.136:8080/api/v1/namespaces/"default"/pods/tas-core/

{"kind": "Pod","apiVersion": "v1","metadata": {"name": "tas-core","namespace":"default","selfLink": "/api /v1/namespaces/default/pods/tas-core","uid":"a264ce8e-a956-11e5-8293-0050569761f2","re​​sourceVersion":"158546","creationTimestamp":"2015-12-23T09:22 :06Z","labels": {"app": "tas-core"},"annotations": {"ctrl": "dynamic","oam": "dynamic"}},"spec": {"volumes ":[ ...

更短的网址也可以正常工作

url = 'http://10.69.117.136:8080/api/v1/namespaces/'
json = requests.get(url)
print json.content

{"kind":"NamespaceList","apiVersion":"v1","metadata":{"selfLink":"/api/v1/namespaces/","re​​sourceVersion":"220452"},"items ":[{"元数据":{"name":"default","selfLink":"/api/v1/namespaces/default","uid":"74f89440-a94a-11e5-9afd-0050569761f2","re​​sourceVersion ":"6","creationTimestamp":"2015-12-23T07:54:55Z"},"spec":{"finalizers":["kubernetes"]},"status":{"phase":"Active "}}]}

我哪里做错了?

【问题讨论】:

  • 尝试使用原始字符串url = r'http:// r
  • 我试过了,但原始字符串不起作用 :(。作为 Jan Vlcinsky 的回答,通过删除“默认”周围的引号是可行的 :) 无论如何,非常感谢!

标签: python httprequest kubernetes


【解决方案1】:

requests 发出请求并从命令行将其发送到不同的网址。

来自 Python 代码的 requests 请求确实尝试使用包含引号的 url。

curl 来自命令行确实会去掉引号(在其他情况下它会转义引号)。

我无法测试您的真实网址以获取真实请求,但我想,以下可能可行:

url = 'http://10.69.117.136:8080/api/v1/namespaces/default/pods/tas-core/'
json = requests.get(url)
print json.content

【讨论】:

  • 是的!你是对的,代码现在正在运行!引号是麻烦制造者。谢谢。
猜你喜欢
  • 2017-05-30
  • 2011-01-21
  • 2012-05-05
  • 1970-01-01
  • 2023-03-12
  • 2014-10-08
  • 2011-04-06
  • 2021-03-31
  • 2022-01-13
相关资源
最近更新 更多