2017-07-20 3 views
1

J'utilise le code ci-dessous pour obtenir l'en-tête d'autorisation d'une URL, mais le champ d'autorisation est toujours retourné comme nulfaire signer la demande OAuth dans l'en-tête d'autorisation d'une requête HTTP C#

string url = "https://xyz.appdirect.com/api/integration/v1/events/abc-123"; 
      HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
      string value = httpWebRequest.Headers["Authorization"]; 

Aussi quand je suivi du code MSDN, je reçois une valeur nulle pour les en-têtes

WebRequest request = WebRequest.Create(url); 
      request.Method = WebRequestMethods.Http.Get; 
      NameValueCollection authHeader = request.Headers; 

      if (authHeader.Count > 0) 
      { 
       foreach (string strKey in authHeader) 
       { 
        string s = strKey + " = " + request.Headers[strKey] + "<br />\n"; 
        Console.WriteLine(String.Format(" Key Value header: {0}", authHeader[strKey])); 

       } 
      } 
      else 
      { 
       Console.WriteLine(String.Format("No headers found")); 

      } 

Quelle est la bonne façon d'obtenir l'en-tête d'autorisation?

Répondre

0

La solution simple est d'obtenir les en-têtes de HttpContext, mais je compliqué ce faire d'autres choses plutôt que de lire directement à partir du contexte HTTP

NameValueCollection authHeader = HttpContext.Current.Request.Headers; 
        foreach (string strKey in authHeader) 
        { 

         _logger.Info(String.Format(" Key Value header: {0}", authHeader[strKey])); 

        }