Как использовать HTTP-клиент в GO

HTTP-клиент

Пакет http в GoLang позволяет выполнять функции HTTP в сценариях GoLang.

Использование

Чтобы использовать команды HTTP в GO необходимо импортировать пакет net/http . В следующем примере показано, как получить веб-сайт с помощью GO:

 package mainimport "fmt" import "net/http" func main () {соответственно, err: = http.Get ("http://educative.io") if err ==  nil {fmt.Println (resp.Status) defer resp.Body.Close ()} else {panic (err)} соответственно err = http.Get ("http://invalidurl.com") if err == nil {  fmt.Println (соотв. статус) defer resp.Body.Close ()} else {panic (err)}} 

Функция Get () пытается получить указанную веб-страницу через HTTP-соединение. Первый веб-сайт успешно получен, и в качестве индикатора отображается статус 200 OK . Однако при попытке ввести недопустимый URL отображается сообщение об ошибке 404 Not Found . Рекомендуется закрыть тело ответа, содержащее HTML-код запрошенного веб-сайта, перед выходом из программы.

Более полезным приложением этого HTTP-клиента может быть HTTP-сервер. . В следующем примере показан очень упрощенный сервер.

 func обучающий (w http.ResponseWriter, req * http.Request) {fmt.Fprintf (w, "Response")} func main () {http.HandleFunc ("/Educative", обучающий)  http.ListenAndServe (": 9090", nil)} 

Этот код устанавливает сервер на порту 9090 с помощью функции ListenAndServe () . Функция HandleFunc () устанавливает функцию Educative () для обработки всех HTTP-запросов с /education в URL-адресе. Все функции-обработчики должны иметь в своих аргументах http.ResponseWriter и * http.Request . Затем можно использовать Response Writer, как это было здесь, для отправки ответа. Здесь функция-обработчик просто отправляет слово «Response» в качестве ответа.. На реальных серверах можно было бы ожидать, что в качестве ответа будут возвращены некоторые реальные данные, некоторые HTML или другие файлы.

Оцените статью
nanomode.ru
Добавить комментарий