解决方案 »

  1.   

    你的具体代码?
      
    *****************************************************************************
    签名档: http://feiyun0112.cnblogs.com/
      

  2.   


    string IE = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)";
    StringBuilder sb = new StringBuilder();
                string postdata = "uuid=492f11d9-e50c-48fa-8533-a734f33a6c2d&loginname="+this.TextBox1.Text+"&nloginpwd="+TextBox2.Text+"&loginpwd="+TextBox2.Text+"&machineNet=&machineCpu=&machineDisk=&authcode=&FvVLaQFOlY=VDvKN";
                
                string Url= "http://passport.jd.com/uc/loginService?uuid=58d51760-e2f8-46eb-a5f5-dbda93cd44b1&&r=0.05565985920839012";
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
                request.UserAgent = IE;
                request.Method = "Post";
                request.Accept = "*/*";
                //如果方法验证网页来源就加上这一句如果不验证那就可以不写了
                request.Referer = "http://passport.jd.com/uc/login";
                request.ContentType = "application/x-www-form-urlencoded";
                request.AllowAutoRedirect = true;
                byte[] Postbyte = Encoding.ASCII.GetBytes(postdata);
                request.ContentLength = Postbyte.Length;
                Stream newStream = request.GetRequestStream();
                newStream.Write(Postbyte, 0, Postbyte.Length);//把参数用流对象写入request对象中   
                newStream.Close();            /////////////////////////////////
    //////Cookie
    /////////////////////////////////
                //不保持连接
                request.KeepAlive = true;
                // 获取对应HTTP请求的响应
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                // 获取响应流
                Stream responseStream = response.GetResponseStream();
                // 对接响应流(以"GBK"字符集)
                StreamReader sReader = new StreamReader(responseStream, Encoding.GetEncoding("gb2312"));
                // 开始读取数据
                Char[] sReaderBuffer = new Char[256];
                int count = sReader.Read(sReaderBuffer, 0, 256);
                while (count > 0)
                {
                    String tempStr = new String(sReaderBuffer, 0, count);
                    sb.Append(tempStr);
                    count = sReader.Read(sReaderBuffer, 0, 256);
                }
                // 读取结束
                sReader.Close();
                Response.Write(sb.ToString());
      

  3.   

    uuid=492f11d9-e50c-48fa-8533-a734f33a6c2d
    FvVLaQFOlY=VDvKN
    应该不是固定的,你要先打开登录页面得到当前值
      

  4.   

    FvVLaQFOlY=VDvKN要先做两步,先用HttpRequest请求Login页面 取到FvVLaQFOlY=VDvKN 这个值 与Cookies FvVLaQFOlY 这个是隐藏表单你要找找,这名字看起来也是随机的
    =VDvKN 这个是随机值,这两个值可能与Session有关,你取到Cookeis就可以了
    取到后再拼接成你上面的数据进行Login包发送
      

  5.   

    http://help.jd.com/oapihelp/question-459.html
    1.商家与京东签署合约,成为POP商家后,商家可申请调用API获取商家信息,进行系统对接;
    2.购买第三方软件商家,可自助开通接口授权,可使用商家的账户密码通过自助操作即可获取授权信息,具体操作方法请询问商家所使用软件的供应商。
    3.如商家为自主开发软件对接京东,请发送邮件至[email protected],申请对接支持,邮件内请注明自主开发软件对接。
    1、调用京东API接口时,即是与京东服务器进行一次数据交互的过程,所有的API都是基于REST基础的接口规范,可兼容多种编程语言,同时查询API全部支持http post和http get两种方法,对于修改及操作类型API只支持http post方法,推荐大家使用http post方法。
    2、使用API现使用在沙箱环境下默认提供的用户ID与API-Key来调用一个接口来获取信息;其中API-Key释义:appkey:京东颁发的唯一标识一个商家的ID号,具体获取签名调用接口方法请参看技术规范。
    3、数据获取方式:京东开放平台调用接口都是通过调用API来实现的,所有的API都是基于REST协议,可兼容多种编程语言。只要能够按照京东的规范POST调用参数就可以取得相应接口返回的商家数据。
    4、调用入口环境地址,即调用接口(API)时,都通过访问该地址,来获取该接口需要获取的数据正式环境:
    http://gw.shop.360buy.com/routerjson沙箱环境:http://220.231.59.70/routerjson
    5、调用参数 调用接口(API)时,必须传入的系统级参数以及应用级参数,该接口更多输入参数以及返回结构详见API文档
      

  6.   

    我已经这么弄了 我用抓包工具发现有好多cookie 但是我用HttpWebRequest只能获取俩个cookie Post过去还是提示我启用浏览器cookie功能。