C#采集网页返回无数据,求解决方案

网址:http://www.iwencai.com/stockpick/search?typed=1&preParams=&ts=1&f=3&qs=pc_~soniu~stock~stock~history~query&selfsectsn=&querytype=stock&searchfilter=&tid=stockpick&w=2019曾用名

问题:采集该网页但无法返回数据内容,我之前在csdn提过采集该页面信息的问题,不过现在又采集不了了,请帮忙给出解决方法,获得正常的html。

之前提问问题的网址可以参考:

https://ask.csdn.net/questions/680495

估计是cookie弄错了

c#

2个回答

这个问题没人回答了,还是参考
https://ask.csdn.net/questions/680495

这个服务器会不断变动的啊,你可以用浏览器的F12抓包看下,把你的代码贴出来,可以帮你看看。或者你自己对照下。

wuwei2_00_8
Tom20081 现在cookie变了
大约一年之前 回复
wuwei2_00_8
Tom20081 https://ask.csdn.net/questions/680495 这个问答里采纳的答案当时是可以的
大约一年之前 回复
wuwei2_00_8
Tom20081 public string GetMoths(string url, string WebCodeStr) { Encoding WebCode = Encoding.GetEncoding(WebCodeStr); System.GC.Collect(); // 避免操作超时 HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create(url); System.Net.ServicePointManager.DefaultConnectionLimit = 200; /////////////////////// CookieContainer cc = new CookieContainer(); cc.Add(new Cookie("v", "AhSuO1TEMkngSaaFhPUUQ_Iq5VOgbThXepHMm671oB8imb5B1n0I58qhnCr8", "/", "search.10jqka.com.cn")); wReq.CookieContainer = cc; /////////////////////// wReq.KeepAlive = false; wReq.UserAgent = @"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50215;)"; wReq.Method = "GET"; // HttpWebRequest.Method 属性 获取或设置请求的方法。 wReq.Timeout = 30000; //设置页面超时时间为30秒 HttpWebResponse wResp = null; try { wResp = (HttpWebResponse)wReq.GetResponse(); } catch (WebException ex) { return ex.Message; } // Stream respStream = wResp.GetResponseStream(); //判断网页编码,如果判断编码和读取流不放在一个方法,使用StreamReader会出现无法读取流的错误 StreamReader reader = new StreamReader(respStream, WebCode); string strWebHtml = reader.ReadToEnd(); // 从流的当前位置到末尾读取流。 respStream.Close(); reader.Close(); reader.Dispose(); if (wReq != null) { wReq.Abort(); wReq = null; } if (wResp != null) { wResp.Close(); wResp = null; } return strWebHtml; }
大约一年之前 回复
wuwei2_00_8
Tom20081 大神你又来了帮忙看看吧
大约一年之前 回复
立即提问