所以这是一个脚本,我正在编写我的好友公司客户支持。基本上,它的作用是使用脚本中的IP电话进行呼叫,它可以工作,但有问题。这是代码:
import urllib, urllib2, sys
num = sys.argv[1]
print 'Calling'
phones = [
'http://phone1/index.htm',
'http://phone2/index.htm',
'https://phone3/index.htm',
'https://phone4/index.htm',
'https://phone5/index.htm'
]
data = urllib.urlencode({"NUMBER":num, "DIAL":"Dial", "active_line":1})
while 1:
for phone in phones:
try:
urllib2.urlopen(phone,data) # make call
urllib2.urlopen(phone+"?dialeddel=0") # clear logs
except: pass
第一个问题是它只使用手机拨打电话...现在它设置为不断调用,为了调试目的,我似乎只是从电话拨打电话......第二个问题是脚本不会终止。 ctrl + c不起作用...终止它的唯一方法(我知道)是结束ssh会话。现在,我是python的新手,所以这些都可能只是愚蠢的错误,所以希望有人可以提供帮助。谢谢!
答案 0 :(得分:1)
尝试替换像这样的try catch块,
try:
<code>
except Exception as exp:
<code>
使用以下代码时。
except:
pass
系统将捕获SystemExit,KeyboardInterrupt以及您可能不想捕获的其他内容。
感谢。
答案 1 :(得分:0)
你的try块可能正在捕捉Ctrl-C。尝试修改它,以便只捕获您期望的特定异常。有关Ctrl-C的更多信息,请参阅KeyboardInterrupt。
答案 2 :(得分:0)
替换:
try:
urllib2.urlopen(phone,data) # make call
urllib2.urlopen(phone+"?dialeddel=0") # clear logs
except: pass
使用:
urllib2.urlopen(phone,data) # make call
urllib2.urlopen(phone+"?dialeddel=0") # clear logs
所以你可以看到追溯并找到错误