/// <summary> /// 获取验证码,并且识别 /// </summary> /// <param name="yzmUrl"></param> /// <param name="code"></param> /// <returns></returns> public Image GetVcImage(string vcUrl, ref string code, ref CookieContainer vcCookie) { Image vcImage = null; HttpClient client = new HttpClient(vcCookie); //while (true) //{ Stream stream = client.GetImageStream(vcUrl); vcImage = Image.FromStream(stream); ImageRealize ir = new ImageRealize(); //code = ir.GetCode(vcImage); //if (CheckVc(vcCookie, code)) //{ // break; //} //byte[] m_buffer = new byte[4096]; //int offset = 0; //int count = 0; //do //{ // count = stream.Read(m_buffer, offset, m_buffer.Length - offset); // if (count > 0) // { // offset += count; // } //} //while (count > 0); //if (offset > 0) //{ // StringBuilder codeBuilder = new StringBuilder(8, 8); // byte[] ret = new byte[offset]; // Array.Copy(m_buffer, ret, offset); // codeBuilder.Length = 0; // if (ret.Length > 0) // { // if (GetCodeFromBuffer(1, ret, ret.Length, codeBuilder)) // { // code = codeBuilder.ToString().ToUpper(); // } // if (code.Length == 4) // { // code = code.Replace("V", "N").Replace("B", "8"); // if (CheckVc(vcCookie, code)) // { // vcImage = Image.FromStream(new MemoryStream(ret, false)); // break; // } // } // } //} stream.Close(); //} return(vcImage); }
/// <summary> /// 获取验证码,并且识别 /// </summary> /// <param name="yzmUrl"></param> /// <param name="code"></param> /// <returns></returns> public Image GetVcImage(string vcUrl,ref string code,ref CookieContainer vcCookie) { Image vcImage = null; HttpClient client = new HttpClient(vcCookie); //while (true) //{ Stream stream = client.GetImageStream(vcUrl); vcImage = Image.FromStream(stream); ImageRealize ir = new ImageRealize(); //code = ir.GetCode(vcImage); //if (CheckVc(vcCookie, code)) //{ // break; //} //byte[] m_buffer = new byte[4096]; //int offset = 0; //int count = 0; //do //{ // count = stream.Read(m_buffer, offset, m_buffer.Length - offset); // if (count > 0) // { // offset += count; // } //} //while (count > 0); //if (offset > 0) //{ // StringBuilder codeBuilder = new StringBuilder(8, 8); // byte[] ret = new byte[offset]; // Array.Copy(m_buffer, ret, offset); // codeBuilder.Length = 0; // if (ret.Length > 0) // { // if (GetCodeFromBuffer(1, ret, ret.Length, codeBuilder)) // { // code = codeBuilder.ToString().ToUpper(); // } // if (code.Length == 4) // { // code = code.Replace("V", "N").Replace("B", "8"); // if (CheckVc(vcCookie, code)) // { // vcImage = Image.FromStream(new MemoryStream(ret, false)); // break; // } // } // } //} stream.Close(); //} return vcImage; }