Golang은 쿠키를 요청합니다
프로그래머로서 우리는 네트워크 요청 기능을 구현할 때 종종 쿠키를 사용해야 합니다. 그렇다면 Golang에서 쿠키를 요청하는 방법은 무엇입니까? 다음으로 이 글에서는 Golang에서 쿠키를 요청하는 방법을 소개하겠습니다.
먼저 쿠키가 무엇인지 이해해야 합니다. 쿠키는 클라이언트의 상태 정보를 저장하는 데 사용되는 HTTP 프로토콜의 데이터 전송 방법입니다. 사용자의 로그인 정보, 검색 기록, 장바구니 및 기타 정보를 기록하여 사용자 정보의 추적 및 관리를 실현할 수 있습니다.
Golang에서 쿠키 요청은 쿠키 설정과 쿠키 가져오기의 두 부분으로 나뉩니다.
쿠키 설정:
Golang 요청에서 헤더를 설정하여 쿠키를 설정할 수 있습니다. 로그인이 필요한 일부 웹사이트에서는 불법적으로 데이터를 얻기 위해 요청 헤더에 쿠키를 포함해야 합니다.
샘플 코드:
func setCookie() { url := "https://www.example.com/login" req, err := http.NewRequest("POST", url, strings.NewReader(`{"foo":"bar"}`)) if err != nil { log.Fatalln(err) } req.Header.Set("Content-Type", "application/x-www-form-urlencoded") //设置Cookie req.AddCookie(&http.Cookie{Name: "user", Value: "123"}) cli := http.Client{} resp, err := cli.Do(req) if err != nil { log.Fatalln(err) } defer resp.Body.Close() fmt.Println(resp.StatusCode) }
예제에서는 먼저 게시물 요청의 요청 본문을 빌드하고 요청 헤더에 Content-Type을 설정한 다음 req.AddCookie()를 통해 값으로 user라는 사용자를 설정합니다. 123 쿠키.
쿠키 가져오기:
Golang 요청에서는 요청 개체를 통해 쿠키를 얻을 수 있습니다. 일부 비즈니스 논리 작업을 수행할 때 일부 웹사이트 정보를 얻으려면 링크 요청 헤더에서 쿠키를 얻어야 합니다.
샘플 코드:
func getCookie() { url := "https://www.example.com/home" req, err := http.NewRequest("GET", url, nil) if err != nil { log.Fatalln(err) } cli := http.Client{} resp, err := cli.Do(req) if err != nil { log.Fatalln(err) } defer resp.Body.Close() cookies := resp.Cookies() for _, c := range cookies { fmt.Printf("cookieName=%s; cookieValue=%s\n", c.Name, c.Value) } }
예제에서는 먼저 GET 요청의 요청 본문을 구성한 다음 resp.Cookies() 메서드를 호출하여 응답 본문에서 쿠키를 얻은 다음 마지막으로 얻은 쿠키를 콘솔에 출력합니다. .
요약:
위의 샘플 코드를 통해 Golang에서 쿠키를 요청하는 것이 매우 간단하다는 것을 알 수 있습니다. 요청 객체를 설정하거나 요청 헤더를 구성함으로써 쿠키를 설정하고 얻을 수 있습니다. 실제 개발에서는 이러한 기술을 통해 보다 복잡한 비즈니스 논리 작업을 구현할 수 있습니다.
위 내용은 Golang에서 쿠키를 요청하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!