我想創建一個簡單的腳本來檢查某個主機名:端口是否正在運行。我只想得到一個bool
響應,如果該URL是活的,但我不確定是否有一個簡單的方法來做到這一點。檢查是否可以使用Golang訪問URL
0
A
回答
6
如果您只想查看是否可以訪問URL,則可以使用net.DialTimeout。就像這樣:
timeout := time.Duration(1 * time.Second)
conn, err := net.DialTimeout("tcp","mysyte:myport", timeout)
if err != nil {
log.Println("Site unreachable, error: ", err)
}
3
如果你想檢查是否在某個URL Web服務器的答案,你可以調用使用net/http HTTP GET請求。 如果服務器根本沒有響應,您將會收到超時。您也可以檢查回覆狀態。
resp, err := http.Get("http://google.com/")
if err != nil {
print(err.Error())
} else {
print(string(resp.StatusCode) + resp.Status)
}
您可以通過初始化http.Client更改默認超時。
timeout := time.Duration(1 * time.Second)
client := http.Client{
Timeout: timeout,
}
resp, err := client.Get("http://google.com")
獎金: 轉到一般不依賴於異常和內置的庫一般不要驚慌,而是返回一個錯誤作爲第二值。 見Why does Go not have exceptions?。 如果您對本機函數的調用發生混亂,您可以認爲發生了非常糟糕的事情。
相關問題
- 1. 檢查URL是否可用使用AngularJS
- 2. 如何檢查ReflectionProperty是否可訪問?
- 3. 檢查API是否可訪問
- 4. 檢查用戶是否可以訪問跨域外部資源
- 5. 檢查用戶機器是否可以訪問Facebook
- 6. 是否可以使用mylyn訪問@task?
- 7. 是否可以使用URL
- 8. 如何檢查我是否可以使用JavaScript連接到URL?
- 9. 檢查是否可以分配問題
- 10. 我可以使用AJAX +跨域+ jsonp測試URL是否可以訪問嗎?
- 11. 檢查Android手機是否可以訪問互聯網
- 12. 如何檢查是否可以訪問zip文件?
- 13. 如何檢查服務器是否可以訪問並運行?
- 14. 如何檢查我是否可以訪問window.opener?
- 15. 檢查服務器是否可以通過IPv6訪問?
- 16. 如何檢查Android設備是否可以訪問互聯網?
- 17. 如何檢查xml文件是否可以在c#中訪問?
- 18. ipoib:檢查是否可以訪問給定iboip的infiniband節點
- 19. .NET - 檢查目錄是否可以正常訪問
- 20. SiteMinder是否可以檢查Cookie並允許/拒絕訪問
- 21. 檢查是否可以通過JavaScript訪問遠程網站
- 22. 檢查網絡IF是否可以在C Linux中訪問Internet?
- 23. Ajax檢查是否可以訪問https頁面
- 24. 檢查是否可以通過jQuery訪問選擇器?
- 25. 檢查用戶是否訪問純根URL
- 26. 是否可以使用註釋實現方法級訪問檢查?
- 27. 是否可以使用phonegap/cordova檢查設備的根訪問權限?
- 28. 是否可以檢查java.lang.NumberFormatException?
- 29. 檢查是否可以檢查控制?
- 30. ASP.Net MVC如何確定用戶是否可以訪問URL?
「但是當URL關閉時,它[http.Get]產生一個恐慌呼叫」。不,它不。 – Volker
您想知道某個端口上是否正在偵聽TCP連接,或者您想知道某個Web服務器是否在該服務器上運行,並且會提供給定的URL? – Flimzy
@Volker你說得對,對不起。這是我第一次去Go。我從我的問題中刪除了這些細節。 – Sebastian