private void button1_Click(object sender, EventArgs e)
{
string userName = textBox1.Text;
string password = textBox2.Text;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.youmint.com/LoginVerification.php?name="+userName+"&pass="+password+"&agreement=true&checkvalue=true");
request.Method = "GET";
request.KeepAlive = true;
request.Headers.Add("Keep-Alive: 300");
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
if (responseFromServer.Equals(""))
MessageBox.Show("Successfully logged in!!");
else if (responseFromServer.Equals("1"))
MessageBox.Show("Login failed!");
request = (HttpWebRequest)WebRequest.Create("http://www.youmint.com/FreeSms.html");
response = request.GetResponse();
dataStream = response.GetResponseStream();
reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
/*secret code :P */
reader.Close();
dataStream.Close();
response.Close();
}
所以,這是我的代碼...第一個webrequest登錄到網站。它在瀏覽器中正常工作,如果登錄不正確,則返回1。然後第二個是對同一網站的網頁的正常web請求。但是登錄已經消失了,我得到的迴應是我如果沒有登錄就會得到的迴應!有人可以告訴我我做錯了什麼嗎?我如何保持它活着?我必須使用無形的webbroswer控件或類似的東西嗎?C#:如何登錄並保持其有效並創建另一個webrequest?
感謝您的回答!我啓用了cookies,但仍然無法使用它...可能是什麼問題?請你可以幫我一些代碼,謝謝。 :) – rainshark 2011-06-17 09:04:27
恐怕我不能給你一個可以工作的通用代碼片段,因爲你與服務器的交互將取決於服務器如何處理請求。例如,您正在打一個PHP頁面,這可能會允許登錄/密碼參數作爲GET請求傳遞給查詢字符串。在ASP.Net頁面中,如果登錄代碼由按鈕單擊事件處理程序觸發,則可能需要發出GET請求並解析VIEWSTATE元素,然後以POST方式發送適當的參數以確保該頁面是回發並且觸發適當的發泄。你可以看到它變得非常具體... – mtazva 2011-06-17 15:27:30
哦,我的親愛的神!我愛你!有用!非常感謝!! * HUG HUG HUG * – rainshark 2011-06-17 18:21:35