我正在尝试编写一个程序(C#),可以登录并在VBulletin论坛中创建新主题。我尝试了两种方法:
1)使用 HttpWebRequest :登录成功,但是创建新主题失败。这是发布代码:
public static void CreateNewThread(string url,string fId, string title, string message, string tag)
{
url += "newthread.php?do=postthread";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
//string result = "";
string values = "subject=" + title
+ "&message=" + message
+ "&tag=" + tag
+ "&do=postthread"
+ "&f=" + fId
+ "&s="
+ ""
;
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = values.Length;
ServicePointManager.Expect100Continue = false; // prevents 417 error
using (StreamWriter writer = new StreamWriter(req.GetRequestStream(), Encoding.UTF8))
{
writer.Write(values);
}
HttpWebResponse c = (HttpWebResponse)req.GetResponse();
}
当执行以上代码时,并没有创建任何线程!
2)使用WebBrowser控件:
webBrowser1.Document.GetElementById("navbar_username").InnerText = "admin";
webBrowser1.Document.GetElementById("navbar_password").InnerText = "123";
但是我无法提交,因为表单没有名称/ID,登录按钮也相同!请告诉我如何在没有表单名称/ID和按钮名称/ID的情况下提交表单?
谢谢!
最好的问候,