作者akafair (VAIO)
看板C_Sharp
标题[问题] 为什麽WebRequest抓不到Response?
时间Wed Dec 30 14:12:51 2015
请教版上先进, 小弟以往可用以下的code在基本市况报导网站抓个股讯息.
後来网页更新, 变成要额外输入UTC time才能查询之後, 同样的code会遇到
"远端主机没有回应"的状况.(小弟只是加上产生UTC Time的代码而已)
我有试过用代码产生的URL去贴在IE或者FireFox都可以抓到回传的stream
所以不像是网址的错.
进一步Debug发现有一点很奇怪.
如果我重开个新IE或FF, 直接贴上URL这样会没有回应.但是如果我先连过去
那个基本市况报导网站, 然後开个tab再去贴同样的URL又没有问题?
这下我真的不知道该怎麽debug下去.
我有google其他人的code, 不过都是python或者很旧的.
希望版上先进给个方向, 谢谢.
----
var utcLocal = Regex.Replace(string.Format("{0}", (DateTime.UtcNow -
new DateTime(1970, 1, 1)).TotalMilliseconds), @"\.\d+", "");
var stockUrl =
string.Format("
http://mis.twse.com.tw/stock/api/getStockInfo.jsp?
ex_ch=tse_{0}.tw&json=1&delay=0&_={1}", stockNumber, utcLocal);
var stockDataRequest = (HttpWebRequest)WebRequest.Create(stockUrl);
var response = (HttpWebResponse)stockDataRequest.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{ //处理抓到的Stream }
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.166.81.109
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1451455973.A.E0B.html
1F:→ Litfal: 没实际试,不过检查一下cookie 12/30 15:37
2F:→ TobyH4cker: 缺了方法 12/31 05:13
3F:→ akafair: 缺了方法是甚麽意思? 不懂 12/31 09:00
4F:→ akafair: 再一两天搞不定 我就整合python用urllib3罢了 12/31 09:04
5F:→ ssccg: 是没收到reponse(用proxy之类的看)、status code不是OK 12/31 11:46
6F:→ ssccg: 还是status code是OK但是body是空的? 12/31 11:46
7F:→ ssccg: 如果server没回东西那你换什麽lib都是一样的 12/31 11:47
8F:→ ssccg: 如果是status ok但是server回错误,那就是少资料 12/31 11:53
9F:→ TobyH4cker: request的method 12/31 16:02
10F:→ TobyH4cker: 测过了,是Cookies的问题 12/31 16:22
12F:→ TobyH4cker: 所以才会出现那个没有回应的讯息 12/31 16:25
13F:→ TobyH4cker: 比起其他网站,这个简单多了,不用麻烦的参数还能抓 12/31 16:34
14F:→ akafair: Toby大 您说的没错 debug时我也发现会redirect到1.1.1.3 12/31 20:57
15F:→ akafair: 可是cookie要怎麽设定? 我以为cookie是记忆在浏览器的啊 12/31 20:59
16F:→ akafair: 谢Toby大 我成功了 先连去主页面抓cookie保存给後续的用 12/31 21:11