How to force WebRequest to send Authorization header during POST

前端 未结 3 1058
醉梦人生
醉梦人生 2020-12-09 08:54

When using WebRequest to send a POST, the Authorization header is not sent with the request even though I have manually set the header and set PreAuthenticate to true, eg:

3条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-09 09:11

    Here's my solution. The value is in variable json.

    var myUri = new Uri(fullpath);
    var myWebRequest = WebRequest.Create(myUri);
    var myHttpWebRequest = (HttpWebRequest)myWebRequest;
    myHttpWebRequest.PreAuthenticate = true;
    myHttpWebRequest.Headers.Add("Authorization", "Bearer " + AccessToken);
    myHttpWebRequest.Accept = "application/json";
    
    var myWebResponse = myWebRequest.GetResponse();
    var responseStream = myWebResponse.GetResponseStream();
    if (responseStream == null) return null;
    
    var myStreamReader = new StreamReader(responseStream, Encoding.Default);
    var json = myStreamReader.ReadToEnd();
    
    responseStream.Close();
    myWebResponse.Close();
    

提交回复
热议问题