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

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

http.get() 返回“422 無(wú)法處理的實(shí)體”

http.get() 返回“422 無(wú)法處理的實(shí)體”

Go
搖曳的薔薇 2023-05-15 10:15:02
我編寫(xiě)了一個(gè) go 程序來(lái)查詢(xún) github 存儲(chǔ)庫(kù)“golang:go”中的問(wèn)題。http.Get() 以狀態(tài)“200 OK”響應(yīng)。然后我查詢(xún)最近 3 個(gè)月內(nèi)創(chuàng)建的問(wèn)題,http.Get() 返回“422 Unprocessable Entity”。下面是程序import(        "fmt"        "time"        "net/http"        "net/url"        )func main() {        var ret error        var str string         q:=url.QueryEscape("repo:golang/go")        fmt.Println("q:", q)        urlStr := "https://api.github.com/search/issues" +"?q=" + q         fmt.Println("urlStr:", urlStr)        resp, ret:= http.Get(urlStr)        fmt.Println("ret :", ret, "resp.status :", resp.Status)        timeStr := "created:"        to := time.Now()        from := to.AddDate(0, -3, 0)        str = to.Format("2006-01-02")        timeStr = timeStr + str + ".."        fmt.Printf("time1 : %s\n", timeStr)        str = from.Format("2006-01-02")        timeStr = timeStr + str         fmt.Printf("time2 : %s\n", timeStr)        q=url.QueryEscape("repo:golang/go" + timeStr)        fmt.Println("q:", q)        urlStr = "https://api.github.com/search/issues" +"?q=" + q         fmt.Println("urlStr:", urlStr)        resp, ret = http.Get(urlStr)        fmt.Println("ret :", ret, "resp.status :", resp.Status) }   我用它來(lái)形成查詢(xún)。我是網(wǎng)絡(luò)編程的新手,無(wú)法理解我在形成第二個(gè)查詢(xún)時(shí)出錯(cuò)的地方。
查看完整描述

3 回答

?
小唯快跑啊

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

對(duì)我有用的兩件事

1)反轉(zhuǎn)你的timeStr中的“from”和“to”

2)不要在timeStr上使用QueryEscape,只需像這樣添加它

???urlStr?=?"https://api.github.com/search/issues"?+?"?q=repo:golang/go+"?+?timeStr

不要使用符號(hào)(我最初用這個(gè)回答)使用加號(hào)或空格。

查看完整回答
反對(duì) 回復(fù) 2023-05-15
?
呼喚遠(yuǎn)方

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

我像下面這樣使用,如果我不轉(zhuǎn)義第二個(gè)網(wǎng)址,它對(duì)我有用:


package main

import(

        "fmt"

        "time"

        "net/http"

        "net/url"

        )


func main() {

        var ret error

        var str string 


        q:=url.QueryEscape("repo:golang/go")

        fmt.Println("q:", q)

        urlStr := "https://api.github.com/search/issues" +"?q=" + q 

        fmt.Println("urlStr:", urlStr)

        resp, ret:= http.Get(urlStr)

        fmt.Println("ret :", ret, "resp.status :", resp.Status)


        timeStr := "created:"

        to := time.Now()

        from := to.AddDate(0, -3, 0)


        str = to.Format("2006-01-02")

        timeStr = timeStr + str + ".."

        fmt.Printf("time1 : %s\n", timeStr)


        str = from.Format("2006-01-02")

        timeStr = timeStr + str 

        fmt.Printf("time2 : %s\n", timeStr)


        urlStr = "https://api.github.com/search/issues" +"?q=" + "repo:golang/go&created:2018-11-29..2018-08-29"

        fmt.Println("urlStr:", urlStr)

        resp, ret = http.Get(urlStr)

        fmt.Println("ret :", ret, "resp.status :", resp.Status) 

}

輸出是:


q: repo%3Agolang%2Fgo

urlStr: https://api.github.com/search/issues?q=repo%3Agolang%2Fgo

ret : <nil> resp.status : 200 OK

time1 : created:2018-11-29..

time2 : created:2018-11-29..2018-08-29

urlStr: https://api.github.com/search/issues?q=repo:golang/go&created:2018-11-29..2018-08-29

ret : <nil> resp.status : 200 OK


查看完整回答
反對(duì) 回復(fù) 2023-05-15
?
慕少森

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

當(dāng)客戶(hù)端發(fā)送無(wú)效輸入時(shí),包括來(lái)自github 的API 在內(nèi)的許多 API都會(huì)返回狀態(tài)代碼。422在您的代碼中,錯(cuò)誤的輸入是由連接兩個(gè)沒(méi)有“分隔符”的限定符的行生成的。

因此,這"repo:golang/go" + timeStr將導(dǎo)致q包含單個(gè)“合并”限定符的值看起來(lái)像這樣:

"repo:golang/gocreated:2018-1...

要修復(fù)您的代碼,您只需在兩個(gè)限定符之間添加一個(gè)空格,您的查詢(xún)就可以正常工作。

q=url.QueryEscape("repo:golang/go?"?+?timeStr)


查看完整回答
反對(duì) 回復(fù) 2023-05-15
  • 3 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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