首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >requests.get(url)从kubernetes api返回错误代码404,而响应可以通过curl/GET获得。

requests.get(url)从kubernetes api返回错误代码404,而响应可以通过curl/GET获得。
EN

Stack Overflow用户
提问于 2016-01-18 15:16:21
回答 1查看 4.6K关注 0票数 1

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

代码语言:javascript
复制
url = 'http://10.69.117.136:8080/api/v1/namespaces/"default"/pods/tas-core/'
json = requests.get(url)
print json.content

错误代码404将被返回为:{“类别”:“状态”,"apiVersion":"v1",“元数据”:{},“状态”:“失败”,“消息”:"pods \"tas-core\“NotFound",”原因“:”NotFound“,”详细信息“:{”名称“:"tas-core",”类别“:"pods"},”代码“:404}

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

代码语言:javascript
复制
curl http://10.69.117.136:8080/api/v1/namespaces/"default"/pods/tas-core/

{“类别”:“apiVersion”、"v1“、”元数据“:{”名称“:"tas-core”、“命名空间”:“默认”、"selfLink":“/api/v1/名称空间/默认/pods/tas”、"uid":"a264ce8e-a956-11e5-8293-0050569761f2“、"resourceVersion":"158546”、"creationTimestamp":"2015-12-23T09:22:06Z",“标签”:{"app":"tas-core"},“注释”:{"ctrl":“动态”,"oam":“动态”},"spec":{“卷”:[.

此外,更短的url工作良好。

代码语言:javascript
复制
url = 'http://10.69.117.136:8080/api/v1/namespaces/'
json = requests.get(url)
print json.content

{“类别”:“NamespaceList”、"apiVersion":"v1“、”元数据“:{”selfLink“:”/api/v1/命名空间/“、"resourceVersion":"220452"}、”项“:[{”元数据“:{”名称“:”默认“、”selfLink“:”/api/v1/命名空间/默认“、"uid":"74f89440-a94a-11e5-9afd-0050569761f2”、"resourceVersion":"6“、"creationTimestamp":"2015-12-23T07:54:55Z"}“spec”:{“终结器”:“kubernetes”},“状态”:{“阶段”:“活动”}

我哪里错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-18 21:19:03

requests和命令行发出请求将发送给不同的urls。

Python的requests请求确实尝试使用url,包括引号。

命令行中的curl确实删除了引号(在其他情况下,它会转义引号)。

我无法测试您真实的url是否有真正的请求,但我想,以下几点可能会奏效:

代码语言:javascript
复制
url = 'http://10.69.117.136:8080/api/v1/namespaces/default/pods/tas-core/'
json = requests.get(url)
print json.content
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34858102

复制
相关文章

相似问题

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