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

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

從文件中讀取 HTTP 標頭的最有效方法?

從文件中讀取 HTTP 標頭的最有效方法?

Go
qq_笑_17 2023-05-22 17:45:02
我正在尋找一種有效的方法來從文本文件中讀取 HTTP 標頭,以便稍后使用 HTTP 請求發送??紤]以下代碼(目前包含基本的 net/http 請求功能):func MakeRequest(target string, method string) {client := &http.Client{}req, _ := http.NewRequest(method, target, nil)//Headers manually..req.Header.Add("If-None-Match", `some value`)response, _ := client.Do(req)body, _ := ioutil.ReadAll(response.Body)fmt.Println(string(body))}我開始像這樣使用 ioutil.ReadFile:func main() {data, _ := ioutil.ReadFile("/opt/tests/req.txt")fmt.Print(string(data))}但是拿這個文本,用一些指示符(比如“:”)分割它,然后將信息放在每個標題的 req.Header.Add("var1", "var2") 中似乎是一個過度殺戮。問題:有什么更好的方法可以從文本文件中發送帶有標頭的 HTTP 請求?
查看完整描述

2 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

net/http有一個方法ReadRequest,它可以Request從一個bufio.Reader.?假設您的文件包含一個真正的 HTTP 請求(而不是僅由帶有 的行組成的請求部分key: value),您需要做的就是bufio.Reader從文件創建一個新的,即像這樣(省略錯誤處理):

rdr,_ := os.Open("req.txt")

req,_ := http.ReadRequest(bufio.NewReader(rdr))

fmt.Printf("%+v\n", req)


查看完整回答
反對 回復 2023-05-22
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

如果您只想定義一些標頭,另一種選擇是在 Json 文件中定義標頭并應用以下代碼(不包括文件讀?。?/p>


var jsonMap map[string]string

err = json.Unmarshal(jsonBytesFromFile, &jsonMap)

if err != nil {

    log.Fatal("unable to parse json: ", err)

}


for k, v := range jsonMap {

    log.Printf("setting Header : %s : %s", k, v)

    responseWriter.Header().Add(k, v) // you may prefer Set()

}

json 看起來像這樣:


    "Content-type": "text/plain",

    "Cache-Control": "only-if-cached"

}


查看完整回答
反對 回復 2023-05-22
  • 2 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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