C#-Wp8 http请求的时候遇到the remote server returned an error:notfound

发布于 2017-07-21 01:54:00 字数 3111 浏览 1403 评论 1

这个异常在wifi环境下从未出现,但是在2g网络中频繁出现,请问是什么原因,有可能是超时吗还是访问的是https的缘故

string code_url = "https://mp.weixin.qq.com/cgi-bin/verifycode?username=" + that.acc.Text + "&r=" + (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000;
//===================获取验证码=======================
public void getVCode(string code_uri)
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(code_uri);
webRequest.Accept = "image/webp,*/*;q=0.8";
if (loginInfo.LoginCookie != null)
webRequest.CookieContainer = loginInfo.LoginCookie;
else
webRequest.CookieContainer = cc; //保存cookie

webRequest.Method = "GET"; //请求方式是GET
webRequest.AllowAutoRedirect = true;
webRequest.Headers["Accept-Encoding"] = "xxxx,deflate";
webRequest.Headers["Accept-Language"] = "zh-CN";
webRequest.Headers["Connection"] = "keep-alive";
webRequest.Headers["Referer"] = "https://mp.weixin.qq.com/";
webRequest.Headers["Host"] = "mp.weixin.qq.com";
webRequest.Headers["DNT"] = "1";
webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5";
IAsyncResult CodeResult = (IAsyncResult)webRequest.BeginGetResponse(new AsyncCallback(CodeReady), webRequest);
}

public void CodeReady(IAsyncResult CodeResult)
{
string u = ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000).ToString();
HttpWebRequest request = CodeResult.AsyncState as HttpWebRequest;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(CodeResult);
using (Stream stream = response.GetResponseStream())
{
if (!Directory.Exists("VC"))
{
Directory.CreateDirectory("VC");
}
FileStream outStream = new FileStream("VC\VCode"+u+".jpg", FileMode.Create);
Int32 i = 0;
//循环inStream,将内容写进outStream
while (true)
{
i = stream.ReadByte();
if (i != -1)
{
outStream.WriteByte((Byte)i);
}
else
{
break;
}
}
//关闭文件
outStream.Close();
}
// Deployment.Current.Dispatcher.BeginInvoke(() => { t.Text = text2; });
Deployment.Current.Dispatcher.BeginInvoke(() => { that.vc.Source = new BitmapImage(new Uri("VC\VCode" + u + ".jpg", UriKind.Relative)); that.showVCode(); });
}
//====================获取验证码=======================

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2017-09-07 07:37:35

手机移动端和pc机移动端是不同的两个,你URL换个手机能上的估计就好了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文