1
我想用我的程序(asp.net/C#)輸入到另一個站點。如何以編程方式點擊另一個網站上的按鈕?
- 如何抓取網站並找到用戶名爲&的密碼文本框並填充所需的數據。
- 然後我可以如何按/激發登錄按鈕?
注意:我在HtmlAgilityPack之前抓取網站..有沒有辦法使用這個DLL或任何其他的DLL?
例如 用戶名是:用戶 密碼:密碼 和登錄按鈕的id是:按 我怎麼能做到這一點?
我想用我的程序(asp.net/C#)輸入到另一個站點。如何以編程方式點擊另一個網站上的按鈕?
注意:我在HtmlAgilityPack之前抓取網站..有沒有辦法使用這個DLL或任何其他的DLL?
例如 用戶名是:用戶 密碼:密碼 和登錄按鈕的id是:按 我怎麼能做到這一點?
你不想那樣工作。您需要模擬一旦該表單通過Post請求提交給服務器並傳遞值後網站將執行的操作。您可以評估該網站確實通過使用Fiddler2和執行表單提交normall什麼,y,則sumulate如下:
HttpWebRequest request;
HttpWebResponse response;
var responseData = "";
var strUrl = "https://auctions.godaddy.com/trpSearchResults.aspx";
var postData = string.Format("action=review_selected_add&items={0}_B_{1}_1|&rnd={2}&JlPYXTX=347bde7", auctionRef, bid,
randomDouble(0, 1).ToString("0.00000000000000000"));
request = (HttpWebRequest)WebRequest.Create(strUrl);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postData.Length;
request.Accept = "text/html, application/xhtml+xml, */*";
request.Accept = "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/x-silverlight, application/x-silverlight-2-b2, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11";
request.Headers.Add("Accept-Encoding", "deflate");
request.Referer = "auctions.godaddy.com";
request.Headers["my-header"] = "the-value";
request.KeepAlive = true;
request.CookieContainer = cookies;
request.Timeout = Timeout.Infinite;
var stOut = new StreamWriter(request.GetRequestStream());
stOut.Write(postData);
stOut.Flush();
stOut.Close();
stOut = null;
response = (HttpWebResponse)request.GetResponse();
response.Cookies = request.CookieContainer.GetCookies(request.RequestUri);
var encoding = new System.Text.UTF8Encoding();
var responseReader = new StreamReader(response.GetResponseStream(), encoding, true);
encoding = new System.Text.UTF8Encoding();
responseReader = new StreamReader(response.GetResponseStream(), encoding, true);
responseData = responseReader.ReadToEnd();
response.Close();
responseReader.Close();
只是讓使用上述張貼數據的類和返回的HTML。
您只需發送專門爲其登錄頁面設計的發佈請求。這就是通常所說的「按鈕點擊」。 –
我不能underestand ...你能告訴我示例代碼嗎? – AminAmiriDarban
示例:http://stackoverflow.com/questions/4015324/http-request-with-post – Stephen