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を使用して 2 つのアプリが通信できるようにすることも検討してください。

于 2015-09-05T15:54:28.833 に答える