Go HTTP Post 並使用Cookie
問題: 將cookie 整合到Go 應用程式中以方便網站登入和後續操作頁面存取。
考慮以下範例程式碼:
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 中,cookie 管理是在 1.1 版本中透過 net/http/cookiejar 套件引入的。
透過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中文網其他相關文章!