110,534
社区成员
发帖
与我相关
我的任务
分享
public int CaptchaDeal(ref string strCheckCode)
{
try
{
CLog.WriteLog("CaptchaDeal start");
string url = "http://*****"; //获取一个图片
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "GET";
request.Accept = "*/*";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
int nStatus = response.StatusCode.GetHashCode();
int streamLength = 1024 * 1024;
byte[] fileData = new byte[streamLength];
int nLenth = 0;
int offset = 0;
nLenth = responseStream.Read(fileData, 0, streamLength);
while (nLenth > 0)
{
offset += nLenth;
nLenth = responseStream.Read(fileData, offset, streamLength - offset);
}
byte[] buf = new byte[offset];
Array.Copy(fileData, 0, buf, 0, offset);
responseStream.Close();
response.Close();
strCheckCode = "ABCEDF";
return 0;
}
catch
{
return 2;
}
}
//返回 0 成功注册 1 帐户错误 2 网络不通 3 验证码错误 4登陆次数过多
public int RegPost(ref TAccountInfo tAccountInfo)
{
CLog.WriteLog("RegPost start");
string url = "http://***";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Headers.Add("Accept-Language", "zh-CN");
request.ServicePoint.Expect100Continue = false;
request.CookieContainer = m_cookieContainer;
//填充要post的内容
string strPostData = "***";
byte[] bytesToPost = Encoding.ASCII.GetBytes(strPostData);
request.ContentLength = bytesToPost.Length;
//request.AllowAutoRedirect = false;
Stream requestStream = null;
try
{
requestStream = request.GetRequestStream();
requestStream.Write(bytesToPost, 0, bytesToPost.Length);
}
catch
{
if (requestStream != null)
{
requestStream.Dispose();
}
request.Abort();
CLog.WriteLog("RegPost end 1");
return 2;
}
requestStream.Close();
int nStatus = 0;
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
nStatus = response.StatusCode.GetHashCode();
Stream responseStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
string page = readStream.ReadToEnd();
response.Close();
CLog.WriteLog("RegPost end 2");
//如果登陆失败,分析原因
//分析结果
if (IsYZMWrong(ref page))
{
return 3;// 验证码错误
}
else if (IsLoginSuccess(ref page))//成功
{
return 0;
}
else
{
return 1;// 帐户密码错误
}
}
catch
{
CLog.WriteLog("RegPost end 3");
request.Abort();
return 2;
}
}