亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

golang ParseQuery url 給我錯誤的輸出

golang ParseQuery url 給我錯誤的輸出

Go
拉莫斯之舞 2023-04-24 16:58:24
我有以下代碼:func init() {    today := time.Now()    // If ENDPOINT is empty, It'll use this hardcoded endpoint. The ENDPOINT variable should not contain any text after "ModifiedDate gt". The actual date is currentDay-1    if ENDPOINT == "" {        ENDPOINT = "http://localhost:8000/Contacts/Export/?$select=Firstname,Lastname,Email,SubaccountId&$filter=EEA eq '' and ModifiedDate gt"    }    // Append CurrentDay-1 in YYY`enter code here`Y-MM-DDTHH:MM:SSZ format.    // The time is NOT in UTC. It's the local time of the machine on which lambda function was running    ENDPOINT = fmt.Sprintf("%s %s", ENDPOINT, today.AddDate(0, 0, -1).Format("2006-01-02T15:04:05Z"))    var err error    // parse the url    PARSED_ENDPOINT, err = url.Parse(ENDPOINT)    if err != nil {        log.Fatalln("Invalid $ENDPOINT", err)    }    // parse the query parameters    parsedQueryParams, err := url.ParseQuery(PARSED_ENDPOINT.RawQuery)    if err != nil {        log.Fatalln("error in parsing query parameters", err)    }    // URLEncode query parameters    PARSED_ENDPOINT.RawQuery = parsedQueryParams.Encode()}當我輸出 URL 時,我得到:'http://localhost:8000/Contacts/Export/?%24filter=EEA+eq+%27%27+and+ModifiedDate+gt+2018-10-22T08%3A45%3A45Z&%24select=Email%2CFirstname%2CLastname%2CSubaccountId%2CEEA'我如何返回:'http://localhost:8000/Contacts/Export/?$filter=EEA%20eq%20%27%27%20and%20ModifiedDate%20gt%202018-10-22T00:00:00Z&$select=Email,Firstname,Lastname,SubaccountId,EEA'非常感謝任何建議
查看完整描述

1 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

Golang 提供了 url 包來解決這個問題,并將帶有鍵值的查詢字符串傳遞給瀏覽器,并在對字符串進行編碼后進行相應的解析,這將解決特殊字符問題:


package main


import (

    "fmt"

    "net/url"

)


func main() {

    query := make(url.Values)

    query.Add("key", "value")

    url := &url.URL{RawQuery: query.Encode(), Host: "foo", Scheme: "http"}

    fmt.Println(url)

}

避免使用字符串查詢和使用 fmt 包 Sprintf 方法添加值。這不是管理查詢字符串和創建動態 url 的正確方法。


查看完整回答
反對 回復 2023-04-24
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號