AxWebBrowser,WebBrowser
利用2005的WebBrowser我暂时无法得到postData,不知道各位TX有没好办法,记得告知。
所以暂时使用AxWebBrowser,
下面是利用2005的WebBrowser获取postData一种其他办法,比较直观,看代码就可以明白了。
private Dictionary<String, String> GetPostData(HtmlDocument doc, Uri target, Uri baseURL)
{
Dictionary<String, String> ret = new Dictionary<String, String>();
foreach (HtmlElement form in doc.GetElementsByTagName("form"))
{
if ((form.GetAttribute("mode").ToLower() == "post") && ((target == (new Uri(baseURL, form.GetAttribute("target"))))))
{
foreach (HtmlElement widget in form.GetElementsByTagName("input"))
{
String name = widget.GetAttribute("name");
if (name != "")
{
ret.Add(name, widget.GetAttribute("value"));
}
}
}
}
return ret;
}
{
Dictionary<String, String> ret = new Dictionary<String, String>();
foreach (HtmlElement form in doc.GetElementsByTagName("form"))
{
if ((form.GetAttribute("mode").ToLower() == "post") && ((target == (new Uri(baseURL, form.GetAttribute("target"))))))
{
foreach (HtmlElement widget in form.GetElementsByTagName("input"))
{
String name = widget.GetAttribute("name");
if (name != "")
{
ret.Add(name, widget.GetAttribute("value"));
}
}
}
}
return ret;
}
刚才本来想用自己的浏览器来发帖,结果发现插入代码的时候,浏览器自动关闭了,借用其他TX开发的浏览器也是执行错误,
另外感觉MS在WebBrowser上还是比较混乱,期待新版本中。