কিভাবে অনুরোধ পেতে HTTP এ শিরোনাম সেট করবেন?


152

আমি গোতে একটি সাধারণ পোস্ট জিইটি করছি:

client := &http.Client{}
req, _ := http.NewRequest("GET", url, nil)
res, _ := client.Do(req)

তবে ডকটিতে অনুরোধ শিরোনামটি কাস্টমাইজ করার কোনও উপায় আমি খুঁজে পাচ্ছি না , ধন্যবাদ

উত্তর:



38

মনোযোগ দিন যে http.Request শিরোনামে "হোস্ট" Setপদ্ধতিটির মাধ্যমে সেট করা যায় না

req.Header.Set("Host", "domain.tld")

তবে সরাসরি সেট করা যেতে পারে:

req.Host = "domain.tld":

req, err := http.NewRequest("GET", "http://10.0.0.1/", nil)
if err != nil {
    ...
}

req.Host = "domain.tld"
client := &http.Client{}
resp, err := client.Do(req)

2

গো এর নেট / HTTP প্যাকেজের অনেকগুলি ফাংশন রয়েছে যা শিরোনামগুলি নিয়ে কাজ করে । এর মধ্যে অ্যাড , ডেল , গেট এবং সেট পদ্ধতি রয়েছে। সেটটি ব্যবহার করার উপায় হ'ল:

func yourHandler(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("header_name", "header_value")
}

7
ডাব্লু কি ধরনের?
warশ্বর যজ্ঞন্ত

আপনি কীভাবে হেডার পাঠাচ্ছেন? আপনি একটি পেতে r *http.Requestএবং কিছু ফিরে w http.ResponseWriter। আপনি সম্ভবত শিরোনাম ফিরিয়ে দিচ্ছেন বলে সম্ভবত আপনার সেগুলি একটি প্রতিক্রিয়া লেখককে লিখতে হবে। এবং wএকটি প্রতিক্রিয়া লেখক। এটি কি আপনার কাছে যৌক্তিক দেখাচ্ছে?
সালভাদোর ডালি

3
মূল পোস্টারটি বলেছিল যে তিনি " অনুরোধ শিরোনামটি কাস্টমাইজ করতে চান "। আপনার উদাহরণ প্রতিক্রিয়া শিরোনাম কাস্টমাইজ করে ।
মার্টিন ডেল ভেকিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.