Подтвердить что ты не робот

Как сбросить заголовки запроса ASP.NET в строку

Я хотел бы написать себе быстрый дамп заголовков запроса GET для отладки. Раньше я делал это в классическом ASP просто с объектом Request, но Request.ToString() не работает. И следующий код возвратил пустую строку:

using (StreamReader reader = new StreamReader(Request.InputStream))
{
    string requestHeaders = reader.ReadToEnd();
    // ...
    // send requestHeaders here
}
4b9b3361

Ответ 1

Посмотрите на свойство Headers в объекте Request.

С#

string headers = Request.Headers.ToString();

Или, если вы хотите отформатировать его каким-либо другим способом:

string headers = String.Empty;
foreach (var key in Request.Headers.AllKeys)
  headers += key + "=" + Request.Headers[key] + Environment.NewLine;

VB.NET:

Dim headers = Request.Headers.ToString()

Или:

Dim headers As String = String.Empty
For Each key In Request.Headers.AllKeys
  headers &= key & "=" & Request.Headers(key) & Environment.NewLine
Next

Ответ 2

Вы можете включить трассировку на странице, чтобы увидеть заголовки, файлы cookie, переменные формы, querystring и безболезненно:

Верхняя строка начала aspx:

<%@ Page Language="C#" Trace="true" 

Ответ 3

Ты можешь использовать,

string headers = Request.Headers.ToString(); 

Но он вернет URL-кодированную строку, поэтому для декодирования используйте код ниже,

String headers = HttpUtility.UrlDecode(Request.Headers.ToString())