我需要在Twisted中处理Web请求时生成资源的绝对URL。主机,端口和协议(HTTP / HTTPS)都可以根据部署而有所不同,因此动态查找是非常方便的。
我需要的URL是修改当前正在处理的资源的网址,并删除所有参数,因此只需查找完整的请求网址就会有很大帮助。
换句话说,我知道" / path / foo",但我如何找到" http://example.com:8080"?
答案 0 :(得分:4)
传入许多Twisted Web服务器API的Request
有一个URLPath
方法,它返回twisted.python.urlpath.URLPath
的实例。 URLPath
实例的string representation是一个类似“http://example.com:8080/foo/bar”的字符串。