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;
} }
问题:
----------------------------------------------------
当执行上面函数后, 再执行另外一个相似函数, 会抛异常当执行上面函数后, sleep下,再执行另外一个相似函数, 不会抛异常直接执行另外一个相似函数, 不会抛异常
------------------------------------------------------我感觉就是上面代码有问题, 谁帮我看看
解决方案 »
- ajaxToolkit:AutoCompleteExtender 效率问题
- 刷网站流量的小工具用C#怎么做?原理是什么?对网站有什么害处?谢谢!
- 关于用户控件的问题,请大家解决一下
- c#与java通信的问题
- C# 读取txt文件里的坐标数据
- 在Winform中,如何控制一个TextBox只能输入日期格式?
- 使用Gridview绑定一个DataSource,再没有编码的情况下,如何处理超时错误?
- 1)如何将在PictureBox上绘制的图形保存为bmp文件;2)能否直接将1个bmp文件转为矩阵,做图像处理
- 如何编写 HTML for Excel 文件? 提供代码给200分.
- 如何修改DataGrid中某一行中的一个数据?请高手帮忙.
- 求一个用 stream 流下载的问题
- C# 关于事件的订阅和取消问题
//返回 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;
}
}
贴了, 另外调试情况下也没有问题
当执行上面函数后, 再执行另外一个相似函数, 会抛异常 //CLog.WriteLog("RegPost end 3"); 当执行上面函数后, sleep下,再执行另外一个相似函数, 不会抛异常//CLog.WriteLog("RegPost end 2");
直接执行另外一个相似函数, 不会抛异常//CLog.WriteLog("RegPost end 2");
{
CLog.WriteLog(ex.ToString());
}
看看到底是什么错呢………………