2010-04-13 14 views
34

Chciałbym wysłać do siebie szybki zrzut nagłówków żądań GET dla debugowania. Byłem w stanie to zrobić w klasycznej ASP po prostu za pomocą obiektu Request, ale Request.ToString() nie działa. I następujący kod zwrócony pusty ciąg:Jak zrzucić nagłówki żądań ASP.NET na ciąg

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

Odpowiedz

73

spojrzeć na właściwości w obiekcie żądania Headers.

C#

string headers = Request.Headers.ToString(); 

Albo, jeśli chcesz go sformatować w jakiś inny sposób:

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() 

czyli

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

+1 Wystarczy dodać linię wysłać go e-mailem i myślę, że jest to pełna odpowiedź (pytanie zostało oznaczone jako C#, więc nie uważam, że wersja VB.Net jest niezbędna). – amelvin

+0

Pierwszy błąd KeyValuePair spowodował błąd przesyłania w czasie wykonywania, więc używam foreach (klucz łańcucha w Request.Headers) header + = key + "=" + Request.Headers [key] + Environment.NewLine; –

+3

Możesz dołączyć do wszystkich danych przy użyciu metody string.Join: string.Join (Environment.NewLine, Request.Headers.AllKeys.Select (key => string.Format ("Key: {0}, Value: {1}", key, Request.Headers [key]))); Ta metoda jest szybsza niż twoja, ponieważ string.Join jest bardziej efektywny przy łączeniu kilku obiektów. –

26

Można włączyć śledzenia na stronie, aby zobaczyć nagłówki, ciasteczka, zmienne formularzy querystring itp bezboleśnie:

górnej linii startu aspx:

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

Trace niedostępne dla tej konfiguracji: '' jest zwykle używane w serwerach produkcyjnych w pliku machine.config można przeczytać więcej o dziedziczeniu wartości konfiguracyjnych z tutaj http://msdn.microsoft.com/en-us/library/ms178685.aspx – Kiquenet

Powiązane problemy