我遇到了这个令人讨厌的情况,其中请求已成功发送(我从目的地获得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也会很好。
答案 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流量的绝佳工具。