2017-07-20 98 views
1

我使用下面的代碼從一個URL,但授權領域的授權頭一個HTTP請求的Authorization頭簽名的OAuth請求總是返回空獲取在c#

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

還當我跟着MSDN代碼,我得到一個空值的標頭

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")); 

      } 

什麼是獲得授權頭的正確方法?

回答

0

簡單的解決辦法是讓從HttpContext的頭,但我複雜它做其他的事情,而不是直接從HTTP上下文讀它

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

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

        }