2016-08-19 59 views
0

我有一個腳本,我目前正在編寫通過端口25連接到主機。一旦連接下面的代碼用於讀取文本文件來收集每個用戶,然後發出VRFY命令以及用戶名。這真的很好,直到我沒有收到主機的迴應,它只是掛在那裏。邁向我的代碼的底部,我試圖打破如果沒有收到響應,但這不起作用。我嘗試了幾種方法讓它在沒有任何運氣的情況下運行。Python - s.recv掛起超時

提前致謝!

with open('usernames.txt') as f: 
    for users in f: 
     if users == '': 
      break 
     else: 
      try: 
       s.send('VRFY ' + users) 
       result=s.recv(1024) 
       print result 
      except socket.timeout: 
       print IPADDRESS + ' is not responding to VRFY commands' 
       break 
+0

請求數量多嗎?由於請求數量太大,服務器可能正在關閉連接。我與SSH服務器有類似的行爲(http://stackoverflow.com/questions/25609153/paramiko-error-reading-ssh-protocol-banner)在這種情況下,嘗試睡眠之間的請求/到達另一臺服務器 – FunkySayu

+0

您可以調整超時? –

+0

目前沒有,我只限於一個請求。我認爲服務器設置爲不響應請求,所以我認爲我需要讓它超時。 – user826436

回答

0

是的,謝謝你,settimeout工作的一種享受!我也使用了一個優秀的方法來抓住它。感謝大家!