带有'#'字符的Python BaseHTTPRequestHandler路径

时间:2015-10-19 22:11:07

标签: python server

我正在尝试从命令行执行OAuth。我有一个本地Web服务器,处理一个请求以获取OAuth代码。本地Web服务器正在扩展BaseHTTPServer.HTTPServer,处理程序扩展BaseHTTPServer.BaseHTTPRequestHandler。我正在做的与使用Google进行OAuth2非常相似,只是我没有访问Google API。我正在从here执行run_flow的简化版本。我已尝试使用Google client_id和请求网址(例如,“https://accounts.google.com/o/oauth2/auth”)并且它有效,处理程序的self.path包含/?code=xxxx,我可以使用代码通过解析处理程序中的self.path

我的问题是,当我使用其他API时,处理程序的self.path始终只是'/'个字符。我正在访问的API发送一个重定向,如下所示: HOST:PORT/#code=xxxx,而Google的重定向看起来像HOST:PORT/?code=xxxx。我知道#字符是URL中的片段标识符,但是 #字符是否以某种方式终止了处理程序对self.path的读取?有没有办法解决它并抓住code?提前致谢。

0 个答案:

没有答案