繁体   English   中英

Python,用于 API 的 URI 中的正斜杠使用

[英]Python, forward slash in URI for API Using

我正在尝试使用 Python 的 API 请求。它就像 /api/foo/bar/{name}

这个名字可能就像“The/Avangers”。 所以我的请求 uri 是 /api/foo/bar/The/Avangers。

我知道正斜杠会导致问题。 我尝试使用“%2F”而不是“/”,但无济于事。

你知道如何解决这个问题吗?

我的代码:

import requests

x = "The/Avangers"
r = requests.get('myapp/api/sets{}'.format(x), headers=headers)

这是我收到的错误响应:

{
  "http_response": {
      "code": 404,
      "message": "We could not find the resource you requested."
  },
  "code": 5,
  "description": "",
  "details": {},
  "message": "HTTP method [GET] is not supported by the endpoint at the given
              relative path (\/sets\/The\/Avangers)"
}

从您的问题(并且感谢添加的详细信息)我可以看到您成功地将请求发送到给定的端点。 您收到来自服务器的 JSON 响应,其中包含错误消息。 错误消息如下:

HTTP 方法 [GET] 不受给定相对路径 (/sets/The/Avangers) 的端点支持

我理解您的问题,因此您正在尝试连接到您自己的 API。 您需要为给定端点实现GET方法并重试。 您的请求代码似乎很好。

如果您尝试改用不同的 HTTP 方法,例如POST ,请使用适当的方法,例如:

requests.post(f"myapp/api/sets{x}", headers=hdrs)

阅读 请求文档中的更多内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM