urlopen错误[Errno 111]从一个VM连接到另一个VM时,python中的连接被拒绝

时间:2015-05-26 13:08:00

标签: python mongodb urllib2

我在python中测试一个脚本,它在mongo数据库中保存了一些任意值。此脚本在一台虚拟机上运行,​​mongo db在另一台虚拟机上运行。在测试localy时(没有将我的代码部署到VM),一切都运行良好,但自从我开始在VM上测试后,我得到了这个错误:

File "/usr/lib/python2.7/urllib2.py", line 1169, in do_open raise URLError(err)
urllib2.URLError: <urlopen error [Errno 111] Connection refused>

我尝试使用以下代码片段连接到mongo VM:

import os, pyjsonrpc
storeClient = pyjsonrpc.HttpClient(
   url = os.getenv("URL_DATASTORE", "http://localhost:8081/jsonrpc/"),
   username = "",
   password = "")

我可以通过我的脚本虚拟机ping我的mongodb虚拟机,但是当我尝试通过storeClient连接时,我收到urllib2错误。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您正在尝试访问错误的服务器:

url = os.getenv("URL_DATASTORE", "http://localhost:8081/jsonrpc/"),
#                                        ^^^^^^^^^

您正在其他VM上运行它,而不是localhost。