【发布时间】:2013-12-17 22:06:38
【问题描述】:
我正在编写一个基于 Python 的 IRC 机器人插件,它接收 GitHub 所有者和存储库名称,然后基于这些进行一些 GitHub API 调用。我需要确保两个输入都不是恶意的。大概正则表达式会起作用,但我找不到关于哪些字符可以接受的文档。我将处理已经解码为 utf8 的字符串。
【问题讨论】:
标签: python github github-api
我正在编写一个基于 Python 的 IRC 机器人插件,它接收 GitHub 所有者和存储库名称,然后基于这些进行一些 GitHub API 调用。我需要确保两个输入都不是恶意的。大概正则表达式会起作用,但我找不到关于哪些字符可以接受的文档。我将处理已经解码为 utf8 的字符串。
【问题讨论】:
标签: python github github-api
我找不到任何明确说明存储库和用户名允许使用的字符的内容。但我认为也许最好的答案就是不要出汗太多。不要担心它是否是“恶意的”——如果 GitHub 没有最终处理它,那就是他们的问题。
您可以这样做:根据the API docs,发布到 API 的无效字段应该会导致 HTTP 422 错误(当我在使用他们的 API 的代码中遇到错误时,我自己得到了这些)。响应正文包含解释验证错误性质的 JSON 对象。
因此,您可以让 API 为您处理验证,如果您收到其中一个响应,请告诉用户他们的名称无效。
【讨论】: