РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1003 of 1593 menu

Функция http.NewRequest

Функция http.NewRequest создает новый HTTP-запрос для отправки на сервер. В первый параметр мы передаем HTTP-метод (например, http.MethodGet или http.MethodPost), во второй параметр мы передаем URL-адрес в виде строки, в третий параметр мы передаем тело запроса в виде io.Reader (или nil, если тело не требуется). Функция возвращает указатель на http.Request и ошибку, если URL недействителен.

Синтаксис

func NewRequest(method, url string, body io.Reader) (*http.Request, error)

Пример

Давайте создадим простой GET-запрос к веб-странице:

package main import ( "fmt" "net/http" ) func main() { req, err := http.NewRequest(http.MethodGet, "https://example.com", nil) if err != nil { fmt.Println("Error creating request:", err) return } fmt.Println(req.Method, req.URL) }

Результат выполнения кода:

"GET https://example.com"

Пример

Давайте создадим POST-запрос с JSON-телом:

package main import ( "bytes" "fmt" "net/http" ) func main() { jsonData := []byte(`{"name": "John", "age": 30}`) body := bytes.NewReader(jsonData) req, err := http.NewRequest(http.MethodPost, "https://httpbin.org/post", body) if err != nil { fmt.Println("Error creating request:", err) return } req.Header.Set("Content-Type", "application/json") fmt.Println(req.Method, req.URL, req.Header.Get("Content-Type")) }

Результат выполнения кода:

"POST https://httpbin.org/post application/json"

Пример

Давайте создадим запрос с установкой пользовательских заголовков:

package main import ( "fmt" "net/http" ) func main() { req, err := http.NewRequest(http.MethodGet, "https://api.example.com/data", nil) if err != nil { fmt.Println("Error creating request:", err) return } req.Header.Set("Authorization", "Bearer token123") req.Header.Set("User-Agent", "MyApp/1.0") fmt.Println(req.Header.Get("Authorization"), req.Header.Get("User-Agent")) }

Результат выполнения кода:

"Bearer token123 MyApp/1.0"

Смотрите также

  • функцию http.NewRequestWithContext,
    которая создает запрос с контекстом для управления отменой
  • метод Client.Do,
    который выполняет созданный запрос
  • метод Request.ParseForm,
    который разбирает параметры формы из запроса
  • метод Request.FormValue,
    который возвращает значение параметра формы по ключу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить