使用xmlrpc& amp;设置XML值蟒蛇

时间:2009-12-11 16:47:10

标签: python xml xml-rpc

我需要在远程Linux机器上存在的XML文件中设置字段的值。如何找到应连接的端口? 但即使是正确的ping也不会发生:

import xmlrpclib
server = xmlrpclib.ServerProxy('http://10.77.21.240:9000')
print server.ping()
print "I'm  in hurray"

但我得到了:

Traceback (most recent call last):
  File "ping.py", line 3, in <module>
    print server.ping()
  File "C:\Python26\lib\xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "C:\Python26\lib\xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "C:\Python26\lib\xmlrpclib.py", line 1235, in request
    self.send_content(h, request_body)
  File "C:\Python26\lib\xmlrpclib.py", line 1349, in send_content
    connection.endheaders()
  File "C:\Python26\lib\httplib.py", line 892, in endheaders
    self._send_output()
  File "C:\Python26\lib\httplib.py", line 764, in _send_output
    self.send(msg)
  File "C:\Python26\lib\httplib.py", line 723, in send
    self.connect()
  File "C:\Python26\lib\httplib.py", line 704, in connect
    self.timeout)
  File "C:\Python26\lib\socket.py", line 514, in create_connection
    raise error, msg
socket.error: [Errno 10061] No connection could be made because the target machine actively refused it.

我做错了什么?

1 个答案:

答案 0 :(得分:2)

要尝试/思考的几件事情:

  1. 转到远程主机上的命令提示符并键入“netstat -nap | grep 9000”。如果你没有得到有趣的东西,这意味着9000端口没有任何东西在运行。

  2. 您将远程主机显示在10.77.21.240。这是网络上的一个不可路由的地址(AKA Private Network),服务器本身(不仅仅是你的应用程序)可以ping通吗?如果您在Windows上,请转到开始 - &gt;运行并键入“cmd”。在提示符下键入“ping 10.77.21.240”,看看你得到了什么。

  3. 还有一个想法:该进程可能在可达主机上以9000运行,但它可能已将端口打开为127.0.0.1:9000而不是0.0.0.0:9000。第一个地址只能由同一台机器上的进程访问,第二个地址将打开机器上所有可用IP地址的端口。

  4. 更新以回应评论不应成为问题的事实并未消除 的可能性。当你正在调试应该正在工作的东西时,你却需要相当迂腐地检查每一步,让你自己没有空间'哦,我知道那个不可能是问题。 - 这是一个口头'手持波'(通常伴随着真正的手持波)。你会惊奇地发现问题经常发生在你正在手工操作的区域! ping测试需要3秒钟。如果它有效,那么继续前进,如果它 那么......

    处理任何系统问题的前三个步骤是:

    1. 是否插上电源?
    2. 是否已开启?
    3. 配置是否正确?
    4. 您必须为从键盘到应用程序的食物链中的每一件硬件/软件执行此操作。我猜80%的'突然'失败是第1项或第2项 - 是的,真的。电缆在屁股上是一个巨大的痛苦。

      在初次使用手机时,我通常会从开始长途通行 - 如果他们可以在浏览器中获取news.google.com然后点击随机故事,那么我知道一般来说网络还可以。为什么新闻和为什么一个随机故事?避免浏览器缓存问题。我已经失去了我姐姐给我打电话的次数并宣布“互联网坏了!”我们做的第一件事是谷歌新闻测试。它有99%的时间工作,所以我让她反向启动WinVNC(UltraVNC的SingleClick是上帝发送的),我上她的机器,然后我们看到真正的问题是什么。

      如果长传不起作用,那么我看看他们是否可以到达他们的路由器。等等。