近几天在模拟两个购物网站的购物流程,
一个是易迅网:http://www.51buy.com/
一个是酒仙网:http://www.jiuxian.com/
这个两网站的购物车有所区别,先是易迅网站的我做了如下实验:
1.使用ie登陆。
2.把商品加入到购车。
3.退出登陆。
4.使用chrome登陆。
5.查看购物车,可以看到购物车内有先前使用ie登陆加入到购物车的商品。说明加入到购物车的商品是存储在服务器的。之后是酒仙网站的实验如下:
1.使用ie登陆。
2.把商品加入到购车。
3.退出登陆
4.使用chrome登陆。
5.查看购物车,没有看到购物车内有先前使用ie登陆加入到购物车的商品。说明加入到购物车的商品不是存储在服务器的。
6.用wireshark抓包分析的时间却看到了post信息到服务器,如下:POST /flow.php?step=add_to_cart HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://www.jiuxian.com/goods-1081.html
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB7.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; TheWorld)
Host: www.jiuxian.com
Content-Length: 67
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ECS[visit_times]=4; cnzz_a2408473=17; sin2408473=none; rtime=0; ltime=1318063750484; cnzz_eid=61536238-1318050475-; ECS[username]=ioriliao; ECS_ID=3fb3ada6adf325f66b341a9faf7a494600f1719b; ECS[history]=1081; ECS[user_id]=2054298; ECS[password]=fa361b8fe65a0386f940ca18b960ca83; __utma=17458850.1580181086.1318051281.1318058884.1318063677.3; __utmc=17458850; __utmz=17458850.1318051281.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _adwc=109414915%23http%253A%252F%252Fwww.jiuxian.com%252Fseckill.php; _adwp=109414915.4309847575.1318051280.1318058883.1318063676.3; _adwt=1318063676; t=undefined; __v=1.3233034596891486000.1318051282.1318058886.1318063678.3; __l=5122925; Hm_lpvt_3a4664319201c7e7f0ac11403bca1e73=1318063750953; Hm_lvt_3a4664319201c7e7f0ac11403bca1e73=1318063678625; _adwb=109414915; __utmb=17458850.10.10.1318063677; __s=1.0.500.1318063678; __ayreferrer=[1,""]post的数据:
goods={"quick":1,"spec":[],"goods_id":1081,"number":"1","parent":0}
7.我使用C#的httpwebrequest等http类实现了登陆、所商品加入购物车成功,但查看购物车的时候却没有购物信息。想不明白啊。请大神指点!谢谢!PS:还只是26分了,谢谢!

解决方案 »

  1.   

    这有啥啊 购物车可以存到表里啊 也可以存到session里 看你需求啊,一般存表比较方便啊
      

  2.   

    存入客户端cookie,减少系统压力
      

  3.   

    问题是第7点的问题:
    7.我使用C#的httpwebrequest等http类实现了登陆、所商品加入购物车成功,但查看购物车的时候却没有购物信息。
      

  4.   

    问题是第7点的问题:
    7.我使用C#的httpwebrequest等http类实现了登陆、所商品加入购物车成功,但查看购物车的时候却没有购物信息。
      

  5.   

    现在一般的购物车都不会用cookie存放商品数据,何况是ecshop,它将session存在数据表内.至于模拟POST过去的数据,ecshop会做校验,让服务器认为合法是你需要做的事情.
      

  6.   

    可是我post过去的数据后返回的信息是正确的,因为和我抓包时所返回的是一样的。
      

  7.   

    http://files.cnblogs.com/JiangHuakey/JiuXian.zip
    上面是完整的工程,求大神帮我看看是否在哪个地方出错了。我帖子所说的问题在GetBuyCart函数return的数据不正确。非常感谢!
      

  8.   

    仍然非常感谢大神您!我自己也在努力debug中,有些时候有些问题自己确实搞不定了,呵呵
      

  9.   

    不好意思,我都忘记了这里是php版块,呵呵
      

  10.   

    我靠,竟然是写少了一个CookieContainer。debug了两天终于搞定,谢谢大家的帮助。