如果获取全 WebBrowser 或 AxWebBrowser 控件发送的POST数据
AxWebBrowser 浏览器控件有一个 BeforeNavigate2 事件,e.postData里包含了发送的POST数据信息,针对于普通的文本格式的完全可以,但只要表单里包含了文件,发送了附件文件后,获取到的post数据就会在这里被截断。无法将post数据获取完整
如:-----------------------------7d81d414b0c36
Content-Disposition: form-data; name="litpic"; filename=""
Content-Type: application/octet-stream
以下的就获取不到了。
axWebBrowser1:
private void axWebBrowser1_BeforeNavigate2(object sender, AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2Event e)
{
string postDataText = new string(Encoding.GetEncoding("GBK").GetChars(e.postData as byte[]));
}
WebBrowser下可以这样写
private void WebBrowser_BeforeNavigate2(object pDisp, ref object URL, ref object Flags, ref object TargetFrameName, ref object PostData, ref object Headers, ref bool Cancel)
{
string postDataText = System.Text.Encoding.ASCII.GetString(PostData as byte[]); //或其他编码
}
结果都一样。无法获取完整,100分请教了!