使用 POST 和 HttpRequest 登录网站

本文关键字:登录 网站 HttpRequest POST 使用 | 更新日期: 2023-09-27 17:56:20

有一个网站我需要使用HttpRequest登录。该网站的登录形式使用POST方法。我知道如何将 HttpRequest 用于没有保护的页面,如何使用 POST 登录网站?

使用 POST 和 HttpRequest 登录网站

这个例子是由 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();
}