2015-09-05 62 views
0

如何从web2py应用程序(例如控制器或模块)内部获取服务器(部署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()) 

与控制器内的另一个动作进行互动,但是这需要端口没有被事先知道,我希望它是动态的。

回答

0

URL()帮手需要schemehost参数来生成绝对URL。此外,没有必要使用urllib.urlencode生成的查询字符串,你可以通过一本字典为vars参数:

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

作为替代方案,你也可以考虑使用JSON-RPC让这两个应用程序进行通信。