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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 http.Get 請求中使用雙引號和冒號作為查詢字符串?

如何在 http.Get 請求中使用雙引號和冒號作為查詢字符串?

Go
FFIVE 2023-07-10 15:03:28
我想發(fā)送此休息電話...GET http://search.maven.org/solrsearch/select?q=g:"ch.viascom.groundwork"+AND+a:"foxhttp"&rows=100&core=gav...但不能,因為它被編碼為http://search.maven.org/solrsearch/select?core=gav&q=g%3A%22ch.viascom.groundwork%22%2BAND%2Ba%3A%22foxhttp%22&rows=20這是我的 go 函數(shù):func searchOnMavenCentral() {    var groupId = "ch.viascom.groundwork"    var artifactId = "foxhttp"    params := url.Values{}    params.Add("q", `g:"` + groupId + `"+AND+a:"` + artifactId + `"`)    params.Add("rows", "20")    params.Add("core", "gav")    resp, err := http.Get("http://search.maven.org/solrsearch/select?" + params.Encode())    if err != nil {        log.Fatalln(err)    }    log.Println(resp.Request.URL)    log.Println(resp)}我怎么解決這個問題?提前感謝您的幫助!更新狀態(tài)在您的幫助下,我成功創(chuàng)建了所需的 URL,但我現(xiàn)在面臨以下新問題:&{400 Bad Request 400 HTTP/1.1 1 1 map[Connection:[keep-alive] Date:[Mon, 05 Aug 2019 23:56:45 GMT] Server:[nginx/1.14.1]] 0xc00011a080 -1 [chunked] false false map[] 0xc0000d4000 <nil>}這是更新后的代碼:func searchOnMavenCentral() {    var groupId = "ch.viascom.groundwork"    var artifactId = "foxhttp"    qp := "q=g:\"" + groupId + `"+AND+a:"` + artifactId + `"` +        "&rows=20" +        "&core=gav"    u := &url.URL{        Scheme:   "http",        Host:     "search.maven.org",        Path:     "/solrsearch/select",        RawQuery: qp,    }    resp, err := http.Get (u.String())    if err != nil {        log.Fatalln(err)    }    log.Println(resp.Request.URL)    log.Println(resp)}
查看完整描述

1 回答

?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

鑒于服務器不處理百分比編碼,請使用基本字符串操作來構(gòu)造 URI。


要解決 net/http 包對 URL 的解碼和編碼問題,請使用 URL.Opaque 字段指定 URI。


func searchOnMavenCentral() {

    var groupId = "ch.viascom.groundwork"

    var artifactId = "foxhttp"


    qp := "q=g:\"" + groupId + `"+AND+a:"` + artifactId + `"` +

      "&rows=20" +

      "&core=gav"


    req, _ := http.NewRequest("GET", "http://search.maven.org", nil)

    req.URL = &url.URL{

       Scheme: req.URL.Scheme,

       Host: req.URL.Host,

       Opaque: "/solrsearch/select?" + qp,

    }

    resp, err := http.DefaultClient.Do(req)

    if err != nil {

        log.Fatalln(err)

    }


    log.Println(resp.Request.URL)

    log.Println(resp)

}


查看完整回答
反對 回復 2023-07-10
  • 1 回答
  • 0 關(guān)注
  • 3046 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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