用HttpWebRequest实现Get和Post提交数据

Get提交:
//CookieContainer用来保证cookie同步,一般是全局变量
CookieContainer cc = new CookieContainer();

//下面的url是测试地址
Uri uri = new Uri("http://www.28ab.cn/login?username=admin&password=123456");
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);

//下面这句用于保证cookie同步,比如读取验证码什么的
request.CookieContainer = cc;

//获取响应
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
if (response.StatusCode == HttpStatusCode.OK)
{
    //注意这里要根据网站编码格式变换
    using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")))
    {
            //返回请求结果
            string result = sr.ReadToEnd();

            response.Close();
    }
}
else
{
    //连接失败
}


Post提交:
//CookieContainer用来保证cookie同步,一般是全局变量
CookieContainer cc = new CookieContainer();

//下面的url是测试地址
string url = "http://www.28ab.cn/login";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "post";
    

//Post提交时,必须设置Content-Type

request.ContentType="application/x-www-form-urlencoded; charset=UTF-8";


//下面这句用于保证cookie同步,比如读取验证码什么的
request.CookieContainer = cc;

//下面的是参数
string data = "username=admin&password=123456";

//将参数转成byte数组并写到request中
Stream stream = request.GetRequestStream();
byte[] byt = Encoding.Default.GetBytes(data);
stream.Write(byt, 0, byt.Length);
stream.Close();

//获取响应
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
if (response.StatusCode == HttpStatusCode.OK)
{
    //注意这里要根据网站编码格式变换
    using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")))
    {
        //返回请求结果
        string result = sr.ReadToEnd();

        response.Close();
    }
}
else
{
    //连接失败
}

CookieContainer在低版本的.NET Framework有bug,注意!!!!所以项目的.NET版本必须设置为4.0或以上!
  1. 本网站所收集的部分资料来源于互联网,本站不对其真实性负责,也不构成任何其他建议。如果您发现有侵犯您权益的内容,请与我们取得联系,我们会及时修改或删除。
  2. 传递知识、传递力量,欢迎各位网友对本站的文章进行转载和分享。
  3. 本站QQ群交流群:904314688  群号:904314688

版权所有:秋风雅居 (www.28ab.cn) ©2013-2019 All Rights Reserved.

粤ICP备19021598号-3