第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

后操作失敗并出現(xiàn)“CSRF 令牌驗(yàn)證失敗”錯(cuò)誤

后操作失敗并出現(xiàn)“CSRF 令牌驗(yàn)證失敗”錯(cuò)誤

Go
慕尼黑的夜晚無繁華 2023-04-17 16:45:50
我正在嘗試對(duì) SAP Hybris C4C 實(shí)體執(zhí)行 POST 操作。我發(fā)現(xiàn)很多博客都提到我們需要在 POST 期間發(fā)送 X-CSRF-Token,它可以首先使用 GET 操作檢索。我使用 Postman 成功地做到了這一點(diǎn)。因?yàn)?Postman 存儲(chǔ) cookie 不會(huì)導(dǎo)致 CSRF 令牌驗(yàn)證失敗。但是,我實(shí)際上想用 golang 來調(diào)用它。而且我每次都收到錯(cuò)誤,因?yàn)椤癈SRF 令牌驗(yàn)證失敗”。然后在瀏覽了很多博客之后,我發(fā)現(xiàn)我們不僅要設(shè)置 X-CSRF-Token,還要設(shè)置 Cookie,這樣 HTTP POST 就不會(huì)被視為新會(huì)話。否則我們發(fā)送的 csrf 令牌與當(dāng)前會(huì)話不匹配導(dǎo)致錯(cuò)誤。即使在遵循以上兩條線索之后,我仍然遇到錯(cuò)誤。下面是代碼片段,我不確定還缺少什么。代碼片段:auth := "******:*****"basicAuth := base64.StdEncoding.EncodeToString([]byte(auth))geturl := "https://******.crm.ondemand.com/sap/c4c/odata/v1/c4codataapi"req, _ := http.NewRequest("GET", geturl, nil)req.Header.Set("Authorization", "Basic "+basicAuth)req.Header.Set("X-Csrf-Token", "Fetch")cli := &http.Client{}res, _ := cli.Do(req)inputMap := make(map[string]interface{})inputMap["PriorityCodeText"] = "Normal"inputJSON, _ := json.Marshal(inputMap)url := "https://*******.crm.ondemand.com/sap/c4c/odata/v1/c4codataapi/OpportunityCollection"request, _ := http.NewRequest("POST", url, bytes.NewBuffer(inputJSON))request.Header.Set("Authorization", "Basic "+basicAuth)request.Header.Set("X-Csrf-Token", res.Header.Get("X-Csrf-Token"))request.Header.Set("Cookie", res.Header.Get("Set-Cookie"))request.Header.Set("X-Requested-With", "XMLHttpRequest")request.Header.Set("Content-Type", "application/atomsvc+xml")request.Header.Set("DataServiceVersion", "2.0")//request.Header.Set("Accept", "application/atom+xml")client := &http.Client{}resp, _ := client.Do(request)fmt.Printf("Response status code is: %d", resp.StatusCode)jsonResponseData, _ := ioutil.ReadAll(resp.Body)fmt.Printf("Response is: %s", jsonResponseData)
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊

有效!我必須復(fù)制所有 cookie 而不是僅僅設(shè)置標(biāo)頭。我做了以下代碼片段的更改


//request.Header.Set("Cookie", res.Header.Get("Set-Cookie"))

for i := 0; i < len(res.Cookies()); i++ {

? ? request.AddCookie(res.Cookies()[i])

}


查看完整回答
反對(duì) 回復(fù) 2023-04-17
?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

我有時(shí)會(huì)面對(duì) tomcat 9,就我而言,只需注銷并重新登錄即可解決問題。
似乎 java 應(yīng)用程序使用了過期的 cookie,但沒有錯(cuò)誤地將我重定向到注銷頁面。

查看完整回答
反對(duì) 回復(fù) 2023-04-17
  • 2 回答
  • 0 關(guān)注
  • 550 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)