HTTP请求扩展信息

时间:2015-03-02 12:08:00

标签: c# asp.net .net vb.net httprequest

我遇到了这个令人讨厌的情况,其中请求已成功发送(我从目的地获得200,这是一个“黑盒子”目的地)。

另一方面,我有一个场景,请求没有成功发送到目的地的同一目的地(我得到500)。

显然,请求是不同的,我想比较它。

所以,

我打印了标题:

Dim headers As String = String.Empty
Dim keys As String() = httpRequest.Headers.AllKeys

For i As Integer = 0 To keys.Length
    ' Exit condition if the value is three.
    Dim headerKey = keys(0)
    headers &= headerKey & "=" & httpRequest.Headers(headerKey) & Environment.NewLine
    i += 1
Next

我在路上打印了其他东西(地址,客户证书等)

但是,如果有人(已经对这种情况进行故障排除或只是拥有它)可以提供一些vb.net方法来打印请求所包含的所有内容,从标题到正文,它将会受到赞赏。

尝试谷歌搜索这种方法,但没找到, c#sample也会很好。

1 个答案:

答案 0 :(得分:1)

您可以enable tracing将以下部分添加到App.config/Web.config

<system.diagnostics>
    <sources>
        <source name="System.Net" tracemode="protocolonly" maxdatasize="1024">
            <listeners>
                <add name="System.Net" />
            </listeners>
        </source>
    </sources>
    <switches>
        <add name="System.Net" value="Verbose"/>
    </switches>
    <sharedListeners>
        <add name="System.Net"
             type="System.Diagnostics.TextWriterTraceListener"
             initializeData="network.log" />
    </sharedListeners>
    <trace autoflush="true"/>
</system.diagnostics>

现在运行程序并检查将在与可执行文件相同的目录中生成的network.log文件的内容。它将包含有关HTTP请求的详细信息。

或者,我可能会建议您使用Fiddler,这是检查来自本地计算机的HTTP流量的绝佳工具。