Программа Golang для проверки статуса URL/веб-сайта
Здесь мы проверим статус URL-адреса с помощью Golang. Сначала мы импортируем простой пакет fmt в Golang, а затем сохраним ввод в переменной типа string, используя функцию сканирования.
Go
// Go program to enter URLpackage mainimport ( "fmt")func main() { var url string fmt.Print("Enter the URL of a website: ") fmt.Scan(&url)} |
Создайте файл, это может быть любое имя, которое вам нравится, но оно должно иметь расширение .go. Вы можете запустить скрипт, выполнив команду:
go run filename.go
В этом скрипте мы объявили переменную URL типа string. Мы просто отображаем информационное сообщение для ввода, которое берется с помощью функции сканирования и сохраняется в переменной URL.
Использование функции Get в HTTP
Теперь у нас есть URL-адрес в переменной, мы можем настроить модуль HTTP в Golang, чтобы создавать функции для получения данных веб-сайта или просто метаданных. Нам нужно импортировать модуль «net/http» в нашу программу.
После импорта модуля HTTP мы можем получить доступ к функции Get, предоставленной в библиотеке, поэтому с помощью метода Get мы можем просто получить ответ, отправив запрос GET на предоставленный URL-адрес. Функция Get принимает аргумент в качестве URL-адреса веб-сайта и возвращает ответ, в противном случае она возвращает ошибку, что может быть в случае, если URL-адрес не существует или недействителен.
Go
// Go program to enter URLpackage mainimport ( "fmt" "net/http")func main() { var url string fmt.Print("Enter the URL of a website: ") fmt.Scan(&url) resp,err := http.Get(url) fmt.Print(resp) fmt.Print(err)} |
Программу можно улучшить, добавив условие if-else для проверки ошибок и состояния выхода из программы. Таким образом, мы можем зарегистрировать ошибку от вызова функции Get, используя модуль журнала в Golang.
Go
// Go program to enter URLpackage mainimport ( "fmt" "net/http" "log")func main() { var url string fmt.Print("Enter the URL of a website: ") fmt.Scan(&url) resp,err := http.Get(url) if err != nil { log.Fatal(err) } fmt.Print(resp)} |
Выход:
Как мы видим, у нас есть заголовок ответа с заданного URL. Теперь мы увидим, как получить код состояния из полученного объекта ответа.
Проверка кода состояния ответа
Наконец, нам нужно проверить код состояния ответа, полученного после отправки запроса GET на предоставленный URL-адрес. Мы просто напечатаем код состояния URL-адреса, который может быть дополнительно интерпретирован пользователем или изменен в соответствии с требованиями, такими как перенаправление, успех, внутренняя ошибка или не найдено.
Go
// Go program checking the response status codepackage mainimport ( "fmt" "net/http" "log")func main() { var url string fmt.Print("Enter the URL of a website: ") fmt.Scan(&url) resp,err := http.Get(url) if err != nil { log.Fatal(err) } status_code := resp.StatusCode fmt.Println(status_code,":",url)} |
В приведенном выше сценарии мы можем получить доступ к коду состояния из ответа, используя префикс точки с именем «Код состояния» и просто сохранив его в переменной status_code.


Демонстрация скрипта