/// <summary>
        /// 登录
        /// </summary>
        /// <returns>返回登录状态</returns>
        private bool LoginUser(string UseName,string Pass)
        {
            byte[] Datas = System.Text.Encoding.UTF8.GetBytes("uname=" + UseName + "&pwd=" + Md5.md5(Pass, 32));
            string Res = Htool.PostMess("http://kuapi.youku.com/api_ptuser/action_verifyuser", Datas, Mycookie, "");
            if (Res == "1")
                return true;
            else
                return false;
        }
来自爱酷客户端
优酷爱酷 post登录

解决方案 »

  1.   


                byte[] Datas = System.Text.Encoding.UTF8.GetBytes("uname=" + UseName + "&pwd=" + Md5.md5(Pass, 32));难道它的验证码是在客户端验证或者使用的ajax验证?有这个Datas就够了?没测试,所以问问。
      

  2.   

    客户端的一个http协议  没发现验证码  所以你懂的
      

  3.   

     /// <summary>
            /// post请求
            /// </summary>
            /// <param name="Url">目标地址</param>
            /// <param name="postData">发送数据</param>
            /// <param name="MCookie">cookie</param>
            /// <param name="PoxyStr">代理</param>
            /// <returns>服务器回执</returns>
            public string PostMess(string Url, byte[] postData, MCookie bCookie, string PoxyStr)
            {
                try
                {
                    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url.ToString());
                    myRequest.ServicePoint.Expect100Continue = false;
                    myRequest.CookieContainer = bCookie.mycookie;
                    myRequest.Method = "POST";
                    myRequest.Timeout = 15000;
                    myRequest.KeepAlive = true;
                    myRequest.ContentType = "application/x-www-form-urlencoded";
                    myRequest.Accept = "*/*";
                    myRequest.ContentLength = postData.Length;
                    Stream newStream = myRequest.GetRequestStream();
                    newStream.Write(postData, 0, postData.Length);
                    newStream.Close();
                    HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                    bCookie.upcookie(myResponse.Cookies);
                    StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding("utf-8"));
                    string outdata = reader.ReadToEnd();
                    reader.Close();
                    if (!outdata.Contains("基础连接已经关闭: 连接被意外关闭") && !outdata.Contains("无法连接到远程服务器") && !outdata.Contains("基础连接已经关闭: 接收时发生错误。"))
                        return outdata;
                }
                catch (Exception ex)
                {
                    if (!ex.Message.Contains("基础连接已经关闭: 连接被意外关闭") && !ex.Message.Contains("无法连接到远程服务器") && !ex.Message.Contains("基础连接已经关闭: 接收时发生错误。"))
                        return ex.Message;
                }
                return "";
            }
            /// <summary>
            /// post文件请求
            /// </summary>
            /// <param name="Url">目标地址</param>
            /// <param name="postData">文件数据</param>
            /// <param name="MCookie">cookie</param>
            /// <returns>服务器回执</returns>
            public string PostFile(string Url, byte[] postData, MCookie bCookie)
            {
                try
                {
                    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url.ToString());
                    myRequest.ServicePoint.Expect100Continue = true;
                    myRequest.CookieContainer = bCookie.mycookie;
                    myRequest.Method = "POST";
                    myRequest.Timeout = 180000;
                    myRequest.Accept = "*/*";
                    myRequest.UserAgent = "Mozilla/4.0";
                    myRequest.ContentLength = postData.Length;
                    myRequest.KeepAlive = true;
                    myRequest.Headers["Pragma"] = "no-cache";
                    Stream newStream = myRequest.GetRequestStream();
                    newStream.Write(postData, 0, postData.Length);
                    newStream.Close();
                    HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                    bCookie.upcookie(myResponse.Cookies);
                    StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding("utf-8"));
                    string outdata = reader.ReadToEnd();
                    reader.Close();
                    if (!outdata.Contains("基础连接已经关闭: 连接被意外关闭") && !outdata.Contains("无法连接到远程服务器") && !outdata.Contains("基础连接已经关闭: 接收时发生错误。"))
                        return outdata;
                }
                catch (Exception ex)
                {
                    if (!ex.Message.Contains("基础连接已经关闭: 连接被意外关闭") && !ex.Message.Contains("无法连接到远程服务器") && !ex.Message.Contains("基础连接已经关闭: 接收时发生错误。"))
                        return ex.Message;
                }
                return "";
            }这些都没什么吧  难道是要这个?