使用 POST 和 HttpRequest 登录网站
本文关键字:登录 网站 HttpRequest POST 使用 | 更新日期: 2023-09-27 17:56:20
有一个网站我需要使用HttpRequest登录。该网站的登录形式使用POST方法。我知道如何将 HttpRequest 用于没有保护的页面,如何使用 POST 登录网站?
这个例子是由 http://www.netomatix.com 礼貌的。POST
设置为代码隐藏中OnClick
处理程序中的 HttpWebRequest.Method
属性。
示例表单:
<form name="_xclick" target="paypal"
action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="business" value="me@mybiz.com">
<input type="hidden" name="item_name" value="HTML book">
<input type="hidden" name="amount" value="24.99">
<input type="image" src="http://www.paypal.com/images/sc-but-01.gif"
border="0" name="submit" alt="Make payments with PayPal!">
<input type="hidden" name="add" value="1">
</form>
代码隐藏:
private void OnPostInfoClick(object sender, System.EventArgs e)
{
string strId = UserId_TextBox.Text;
string strName = Name_TextBox.Text;
ASCIIEncoding encoding=new ASCIIEncoding();
string postData="userid="+strId;
postData += ("&username="+strName);
byte[] data = encoding.GetBytes(postData);
// Prepare web request...
HttpWebRequest myRequest =
(HttpWebRequest)WebRequest.Create("http://localhost/MyIdentity/Default.aspx");
myRequest.Method = "POST"; // <<--- This is the key word of the day
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream=myRequest.GetRequestStream();
// Send the data.
newStream.Write(data,0,data.Length);
newStream.Close();
}