[Tips] Add custom header in HttpWebRequest

0
37

When you call request from client to server, sometimes, you need to add custom header in HttpWebRequest, you can add it by add headers as below code.

Add custom header in HttpWebRequest

 

public string GetResponseFromServer(string url)
{
          // Get the original response.
          HttpWebRequest request;
          request = (HttpWebRequest)WebRequest.Create(url); 
          request.Accept = "*/*";
          request.Headers.Set(HttpRequestHeader.IfNoneMatch, "55b03-2b24cbc86f5b169552563b30c23b8a69");
          request.Referer = "https:/abc/shop/6088300/?page=1&sortBy=pop";
          request.Headers.Set(HttpRequestHeader.Te, "Trailers");
          request.Headers.Set(HttpRequestHeader.AcceptCharset, "utf-8;q=0.7,*;q=0.7");
          request.UserAgent =  "Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/62.0";
          request.Headers.Add("xp-api-source""pc");
          request.Headers.Add("x-requested-with""XMLHttpRequest");
          request.Headers.Add("origin""https://abc.vn");
          request.Headers.Add("If-None-Match""c9de61df09e496151be0dd86b3ab01f0;gzip");
          request.Host  = "abc.vn";
          request.Headers.Add("Cookie""SPC_IA=-1; IncludedInSample=1"");

          WebResponse response = request.GetResponse();

          // Get the stream containing all content returned by the requested server.
          Stream dataStream = response.GetResponseStream();

          // Open the stream using a StreamReader for easy access.
          StreamReader reader = new StreamReader(dataStream);

          // Read the content fully up to the end.
          string responseFromServer = reader.ReadToEnd();

          // Clean up the streams.
          reader.Close();
          dataStream.Close();
          response.Close();

          return responseFromServer;
}

Notes:If you got below error message, This header must be modified using the appropriate property please change modified your header by below way:

request.UserAgent =  "Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/62.0"
 
or
 
request.Headers.Add("xp-api-source""pc");
 
or
 
request.Headers.Set(HttpRequestHeader.IfNoneMatch, "55b03-2b24cbc86f5b169552563b30c23b8a69");
         

Remember: 

The restricted headers are:

    Accept
    Connection
    Content-Length
    Content-Type
    Date
    Expect
    Host
    If-Modified-Since
    Range
    Referer
    Transfer-Encoding
    User-Agent
    Proxy-Connection

Wishes you have more healthy and have a nice day!
Regards!
Zidane