그래서 내 친구 회사 고객 지원을 위해 작성한 스크립트입니다. 기본적으로 스크립트에서 IP 전화를 사용하여 전화를 걸면 작동하지만 문제는 발생합니다. 여기에 코드입니다 :Python 스크립트 문제
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
첫 번째 문제는 지금은 디버깅을 위해, 이상 호출 이상 유지하는 설정은 ... 그것은 단지 전화 하나를 사용하여 호출하는 것입니다, 그리고 난 단지 전화를 받고있는 것으로 보인다 phone one ... 두 번째 문제는 스크립트가 종료되지 않는다는 것입니다. Ctrl + C가 작동하지 않습니다 ... (내가 아는) 그것을 종료하는 유일한 방법은 ssh 세션을 끝내는 것입니다. 자, 저는 파이썬에 익숙하지 않습니다. 둘 다 아마도 어리석은 실수 일 것입니다. 누군가가 도울 수 있기를 바랍니다. 감사! 이 같은 시도의 catch 블록을 교체
제외하고'사실을 취할 수있는 오류 찾을 수 있습니다 : 그것은 경우 pass' 볼을 오류가 발생합니다. – BrenBarn
'ctrl + z '를 사용해 종료하십시오. 그렇지 않다면, 다른 ssh 세션을 열 수 있습니다. killall python' – imkost
"두 번째 문제는 스크립트가 종료되지 않는다는 것입니다 .ctrl + c는 작동하지 않습니다 ..."명시 적으로 제어 할 수 없도록 지시했습니다. 그거야. ctrl-c를 치면 발생하는 'KeyboardInterrupt' 같은 것도 예외이고, except : pass는 예외가 발생하면 무시합니다. 충분히 오랫동안 control-C를 길게 누르면 결국 운이 좋게되고 결국 중단됩니다. – DSM