यदि कोई कनेक्शन/प्रॉक्सी त्रुटि है तो मैं अनुरोध करने का प्रयास कर रहा हूं।नेट/http: http: सामग्री लम्बाई = 222 शरीर की लंबाई 0
Post https://m.somewebsite.co.uk/api/di/34433: http: ContentLength=222 with Body length 0
Am मैं कुछ गलत कर: कुछ कारणों से मैं यह त्रुटि जो अनुरोध पुन: प्रयास करने पर ध्यान दिए बिना attepts ठीक करने के लिए प्रतीत नहीं होता बार आ रही है? मेरा पहला संदेह यह है कि http.Request किसी भी तरह से उपभोग किया जाता है ताकि अगले प्रयासों पर यह अब अच्छा न हो। क्या मुझे एक प्रतिलिपि बनाना चाहिए?
func Post(URL string, form url.Values, cl *http.Client) ([]byte, error) {
req, err := http.NewRequest("POST", URL, strings.NewReader(form.Encode()))
if err != nil {
log.Error(err)
return nil, err
}
req.Header.Set("User-Agent", ua)
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
rsp, err := do(cl, req)
if err != nil {
return nil, err
}
defer rsp.Body.Close()
b, err := ioutil.ReadAll(rsp.Body)
if err != nil {
log.Error(err)
return nil, err
}
return b, nil
}
func do(cl *http.Client, req *http.Request)(*http.Response, error){
rsp, err := cl.Do(req)
for i := 0; IsErrProxy(err); i++ {
log.Errorf("Proxy is slow or down ")
time.Sleep(6 * time.Second)
5t rsp, err = cl.Do(&ncp)
if err == nil{
return rsp, nil
}
if i > 10 {
return nil, fmt.Errorf("after %v tries error: %v", i, err)
}
}
return rsp, err
}