Go HTTP Post と Cookie の使用
問題: Web サイトへのログインとその後のログインを容易にするために Go アプリケーションに Cookie を統合するページへのアクセス。
次のサンプルを考えてみましょう。コード:
func Login(user, password string) string { postUrl := "http://www.pge.com/eum/login" values := make(url.Values) values.Set("user", user) values.Set("password", password) resp, err := http.PostForm(postUrl, values) if err != nil { log.Fatal(err) } defer resp.Body.Close() // Store cookies here! return "Hello" } func ViewBill(url string, cookies) string { // Access page using cookies! }
解決策: Go では、バージョン 1.1 で net/http/cookiejar パッケージを介して Cookie 管理が導入されました。
Cookie 処理でコードを強化します。機能:
import ( "net/http" "net/http/cookiejar" ) jar, err := cookiejar.New(nil) if err != nil { // Handle error } client := &http.Client{ Jar: jar, }
Cookie jar の Jar 実装で装飾されたこのクライアントは、次の情報を保存できるようになりました。後続のリクエスト時に使用される Cookie により、スムーズなログインとページ ナビゲーションが容易になります。
以上がウェブサイトへのログインとページアクセスのための Go HTTP POST リクエストで Cookie を管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。