c#带cookie访问网页简单示例

        #region  同步通过GET方式发送数据
       
///   <summary>
       
///  通过GET方式发送数据
       
///   </summary>
       
///   <param name="Url"> url </param>
       
///   <param name="postDataStr"> GET数据 </param>
       
///   <param name="cookie"> GET容器 </param>
       
///   <returns></returns>
        public   string  SendDataByGET( string  Url,  string  postDataStr,  ref  CookieContainer cookie)
       {
         HttpWebRequest request 
=  (HttpWebRequest)WebRequest.Create(Url  + ( postDataStr  ==   ""   ?   ""  :  " ? " +  postDataStr);
         
if  (cookie.Count  ==   0 )
         {
            request.CookieContainer 
=   new  CookieContainer();
            cookie 
=  request.CookieContainer;
         }
         
else
         {
            request.CookieContainer 
=  cookie;
         }

         request.Method 
=   " GET " ;
         request.ContentType 
=   " text/html;charset=UTF-8 " ;
         
         HttpWebResponse response 
=  (HttpWebResponse)request.GetResponse();
         Stream myResponseStream 
=  response.GetResponseStream();
         StreamReader myStreamReader 
=   new  StreamReader(myResponseStream, Encoding.GetEncoding( " utf-8 " ));
         
string  retString  =  myStreamReader.ReadToEnd();
         myStreamReader.Close();
         myResponseStream.Close();

         
return  retString;
       }
       
#endregion  

 

 

#region  同步通过POST方式发送数据
       
///   <summary>
       
///  通过POST方式发送数据
       
///   </summary>
       
///   <param name="Url"> url </param>
       
///   <param name="postDataStr"> Post数据 </param>
       
///   <param name="cookie"> Cookie容器 </param>
       
///   <returns></returns>
        public   string  SendDataByPost( string  Url, string  postDataStr, ref  CookieContainer cookie)
       {
         HttpWebRequest request 
=  (HttpWebRequest)WebRequest.Create(Url);
         
if  (cookie.Count  ==   0 )
         {
            request.CookieContainer 
=   new  CookieContainer();
            cookie 
=  request.CookieContainer;
         }
         
else
         {
            request.CookieContainer 
=  cookie;
         }

         request.Method 
=   " POST " ;
         request.ContentType 
=   " application/x-www-form-urlencoded " ;
         request.ContentLength 
=  postDataStr.Length;
         Stream myRequestStream 
=  request.GetRequestStream();
         StreamWriter myStreamWriter 
=   new  StreamWriter(myRequestStream, Encoding.GetEncoding( " gb2312 " ));
         myStreamWriter.Write(postDataStr);
         myStreamWriter.Close();

         HttpWebResponse response 
=  (HttpWebResponse)request.GetResponse();
         Stream myResponseStream 
=  response.GetResponseStream();
         StreamReader myStreamReader 
=   new  StreamReader(myResponseStream, Encoding.GetEncoding( " utf-8 " ));
         
string  retString =  myStreamReader.ReadToEnd();
         myStreamReader.Close();
         myResponseStream.Close();

         
return  retString;
       }
       
#endregion
 

 

 

 

操作代码 

CookieContainer cc
= new  CookieContainer();
cc.Add(
new  System.Uri( " http://www.baidu.com  " ),  new  Cookie( " PHPSESSID " " xx " ));
string  content  =   web.SendDataByGET( " http://www.baidu.com/xx/yy.php " , "" , " gbk " , ref  cc);
MessageBox.Show(content); 

 

 

我中意用博客园嘅格式睇,所以贴上来,等我搞定我嘅程序,我会贴返vb.net嘅示例

转载于:https://www.cnblogs.com/konimeter/archive/2011/09/18/2180382.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你提供一个基于C#的简易购物车实现的代码示例,使用cookie来存储购物车信息。以下是示例代码: ```csharp // 添加商品到购物车 protected void AddToCart_Click(object sender, EventArgs e) { string productId = ProductId.Text; string productName = ProductName.Text; decimal price = Decimal.Parse(Price.Text); int quantity = Int32.Parse(Quantity.Text); // 创建一个新cookie对象 HttpCookie cookie = new HttpCookie("shoppingCart"); // 检查购物车是否已经存在 if (Request.Cookies["shoppingCart"] != null) { cookie = Request.Cookies["shoppingCart"]; } // 将商品信息添加到cookie中 string item = productId + "|" + productName + "|" + price + "|" + quantity; cookie.Values.Add(productId, item); // 设置cookie的过期时间 cookie.Expires = DateTime.Now.AddDays(7); // 将cookie保存到客户端 Response.Cookies.Add(cookie); } // 显示购物车内容 protected void ShowCart_Click(object sender, EventArgs e) { // 从cookie中获取购物车信息 HttpCookie cookie = Request.Cookies["shoppingCart"]; // 检查购物车是否为空 if (cookie != null && cookie.Values.Count > 0) { // 遍历cookie中的商品信息并显示在页面上 foreach (string productId in cookie.Values.AllKeys) { string[] item = cookie.Values[productId].Split('|'); string productName = item[1]; decimal price = Decimal.Parse(item[2]); int quantity = Int32.Parse(item[3]); Response.Write("<p>" + productName + " - " + price.ToString("c") + " x " + quantity + "</p>"); } } else { Response.Write("<p>购物车为空。</p>"); } } ``` 以上代码实现了向购物车添加商品和显示购物车内容的功能。当用户点击“添加到购物车”按钮时,代码会创建一个名为“shoppingCart”的cookie对象,将商品信息添加到cookie中,并将cookie保存到客户端。当用户点击“显示购物车”按钮时,代码会从cookie中获取购物车信息,并将每个商品的名称、价格和数量显示在页面上。 请注意,这只是一个简单示例代码,实际的购物车实现可能需要更复杂的逻辑来处理商品数量、价格计算等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值