Je voudrais m'envoyer un rapide vidage des en-têtes d'une demande GET pour le débogage. J'avais l'habitude de le faire en classique ASP simplement avec l'objet Request, mais Request.ToString()
ne fonctionne pas. Et le code suivant a renvoyé une chaîne vide:
using (StreamReader reader = new StreamReader(Request.InputStream))
{
string requestHeaders = reader.ReadToEnd();
// ...
// send requestHeaders here
}
Jetez un œil à la propriété Headers dans l'objet Request.
C #
string headers = Request.Headers.ToString();
Ou, si vous souhaitez le mettre en forme d'une autre manière:
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()
Ou:
Dim headers As String = String.Empty
For Each key In Request.Headers.AllKeys
headers &= key & "=" & Request.Headers(key) & Environment.NewLine
Next
Vous pouvez activer le traçage sur la page pour voir les en-têtes, cookies, variables de formulaire, chaîne de requête, etc. sans douleur:
Ligne supérieure du départ aspx:
<%@ Page Language="C#" Trace="true"
Vous pouvez utiliser,
string headers = Request.Headers.ToString();
Mais il renverra une chaîne codée URL afin de le décoder, utilisez le code ci-dessous,
String headers = HttpUtility.UrlDecode(Request.Headers.ToString())