我有网址:" http://google.com",如果我从命令提示符运行Python脚本,那么我们将得到预期的结果。但是如果我们运行与win32服务相同的代码,那么我们会收到以下错误
urlopen错误[Errno 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败
代码段:
class MyService(win32serviceutil.ServiceFramework):
"""NT Service."""
_svc_name_ = "InstaMessageSyncService"
_svc_display_name_ = "InstaMessageSyncService"
def __init__(self, args):
win32serviceutil.ServiceFramework.__init__(self, args)
# create an event that SvcDoRun can wait on and SvcStop
# can set.
self.stop_event = win32event.CreateEvent(None, 0, 0, None)
def SvcDoRun(self):
global runProcess
try:
import urllib2
link = "http://www.google.com"
log.info("Going to hit URL: %s",link)
f = urllib2.urlopen(link)
myfile = f.read()
except Exception,e:
log.info("Exception: %s",e)
win32event.WaitForSingleObject(self.stop_event, win32event.INFINITE)
def SvcStop(self):
runProcess = False
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.stop_event)
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(MyService)
答案 0 :(得分:0)
看起来你的防火墙正在采取行动。 尝试关闭防火墙,如果它有帮助,那么你应该通过允许端口或服务(通过其名称)关闭此服务。
有关详细信息,请参阅microsoft帮助页面: https://technet.microsoft.com/en-us/library/cc757622(v=ws.10).aspx