對不起,如果我的英語不好。 我想寫一個程序,可以每15秒打開一次該網站。但是用不同的IP來做。這意味着獲得一個IP列表,並每隔15秒打開一個網站。你是怎麼做到的?我應該使用什麼模塊?謝謝你每隔15秒用不同IP打開一個網站
-3
A
回答
2
如果你問如何確保每隔15秒發射一個連接,即使每個連接可能需要幾秒鐘(甚至可能超過15秒),那也很容易。既然你每15秒只做一次連接,真的沒有理由不爲每個連接產生一個線程。
所以:
def connectToSiteFunction(ip):
# your code to bind ip (if it's a source) or connect to it (if it's a dst)
# and do your thing here
def connectAndWait():
for ip in ips:
t = threading.Thread(target=connectToSiteFunction, args=(ip,))
yield t
t.start()
os.sleep(15)
threads = [t for t in connectAndWait()]
for t in threads:
t.join()
如果你在談論的目的地IP地址,和你想知道如何使用每個請求一個不同的......好吧,你通常只需要修改URL。事情是這樣的:
def connectToSiteFunction(ip):
url = 'http://{}/path/to/page.html'.format(ip)
# now open url as normal
如果你問如何將源地址與您所選擇的網址,下載庫綁定,你必須告訴我們哪些庫,但其中之一的庫將有一個參數它,或者它將有一種方法讓你指定一個socket
工廠,否則這將是不可能的(除非你想用你自己的工廠monkeatch socket.socket
)。如果它讓你指定一個socket
工廠,這樣做的方式是這樣的:
def make_socket_factory(srcip):
def socket_factory():
s = socket.socket()
s.bind((srcip, 0))
return s
return socket_factory
然後,只需在make_socket_factory(srcip)
通過爲工廠。
如果你想知道如何下載網址在首位......有很多的方法可以做到這一點,從STDLIB urllib2
到requests
和pycurl
到twisted
,並且已經有很多答案對SO(和其他地方)比較和對比它們。
相關問題
- 1. 如何在網站中每5秒打開一個彈出框
- 2. 網站抓取器每隔幾秒就抓取一次網站
- 3. 打開同一個php網站兩次
- 4. 嘗試每隔10秒打開一個頁面
- 5. 打開網站並登錄,同時每30秒刷新一次頁面
- 6. 發送AJAX ASYNC請求一個接一個,間隔爲15秒
- 7. 打開網站的不同方法
- 8. 腳本打開並下載一個網站的每一頁?
- 9. 目標C,打開一個網站,而不打開它在Safari
- 10. 多個網站在同一IP與不同的端口與IIS
- 11. 網站域名未打開,IP地址打開
- 12. 域名不打開網站,重定向到默認IP而不是打開www
- 13. 防止用戶打開同一網站的多個實例
- 14. 每15秒運行一次ASPX頁面
- 15. 每15秒發出一次Toast通知
- 16. 如何使用QT每15秒後調用一個函數
- 17. Javascript更新值每15秒
- 18. 每15秒更新位置
- 19. VBS在每一個環節中加入1號打開網站
- 20. 服務每15秒不執行
- 21. 檢測是否從同一網站打開一個窗口
- 22. 2 IP在不同的子網/網關打開vz
- 23. 如何啓用同步而不會每隔幾秒同步
- 24. 打開網站
- 25. 以角度打開一個新網站
- 26. 打開一個網站會延遲
- 27. GWT打開一個網站/ html?
- 28. Asp.NET |獲取IP當用戶打開網站時\點擊一個按鈕
- 29. Https網站不打開localy
- 30. WWW錨不打開網站
我想你的意思是通過HTTP的網站?要澄清的主要問題是您的意思是每15秒鐘有一個不同的網站IP地址,還是不同的源IP地址(即客戶端IP地址)?如果您的意思是客戶端IP地址,那麼除非您運行的主機擁有大量地址,否則您無法這麼做。 – Cartroo
謝謝親愛的Cartoo。我想爲一個網站(目標)編寫此程序,然後在我的電腦或我的VPS上運行該程序,以便每隔15秒打開一次該網站:x –
這聽起來像是對我有惡意。 –