我有一个HttpWebRequest
:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(methodUrl.ToString());
req.Method = "POST";
string postData = Serializer.Serialize(GetAllFields());
req.ContentType = @"application/json; charset=utf-8";
req.Accept = @"application/json; charset=utf-8";
...
我想在发送之前查看实际的原始请求。
(req.ToString()
只给出req
的类型)
我得出结论,我应该以某种方式使用 Stream
,但我不明白如何......
如何在发送前获取网络请求的 header 和正文?
添加:我最终想要的是:
string requestAsText= //some method that will give me the whole post text.
谢谢。
最佳答案
将这些添加到您的配置文件中,这将几乎转储所有通信(这将保存到 network.log 文件):
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="includehex" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
<add name="System.Net.Cache" value="Verbose"/>
</switches>
<sharedListeners>
<add name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="network.log"
/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
关于c# - 获取请求文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900381/