0

如何从 web2py 应用程序(例如控制器或模块)内部获取服务器(部署 web2py 应用程序)上的端口号?

我正在使用 urllib 通过执行此操作与控制器内的另一个操作进行交互

response = urllib2.urlopen('http://127.0.0.1:8000%s?%s'%(URL('unregister_relationship.json'),urllib.urlencode(data))) 
response = json.loads(response.read())

但这需要事先知道端口号,我希望它是动态的。

4

1 回答 1

0

URL()助手接受scheme和参数host来生成一个绝对 URL。此外,无需用于urllib.urlencode生成查询字符串,因为您可以将字典作为vars参数传递:

urllib2.urlopen(URL('unregister_relationship.json', vars=data, scheme='http', host=True))

作为替代方案,您也可以考虑使用JSON-RPC来允许两个应用程序进行通信。

于 2015-09-05T15:54:28.833 回答