看板 C_Sharp 關於我們 聯絡資訊
請教版上先進, 小弟以往可用以下的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://www.ptt.cc/bbs/C_Sharp/M.1451455973.A.E0B.html
Litfal: 沒實際試,不過檢查一下cookie 12/30 15:37
TobyH4cker: 缺了方法 12/31 05:13
akafair: 缺了方法是甚麼意思? 不懂 12/31 09:00
akafair: 再一兩天搞不定 我就整合python用urllib3罷了 12/31 09:04
ssccg: 是沒收到reponse(用proxy之類的看)、status code不是OK 12/31 11:46
ssccg: 還是status code是OK但是body是空的? 12/31 11:46
ssccg: 如果server沒回東西那你換什麼lib都是一樣的 12/31 11:47
ssccg: 如果是status ok但是server回錯誤,那就是少資料 12/31 11:53
TobyH4cker: request的method 12/31 16:02
TobyH4cker: 測過了,是Cookies的問題 12/31 16:22
TobyH4cker: 若是Cookie沒有設,會被redirect到http://1.1.1.3 12/31 16:25
TobyH4cker: 所以才會出現那個沒有回應的訊息 12/31 16:25
TobyH4cker: 比起其他網站,這個簡單多了,不用麻煩的參數還能抓 12/31 16:34
akafair: Toby大 您說的沒錯 debug時我也發現會redirect到1.1.1.3 12/31 20:57
akafair: 可是cookie要怎麼設定? 我以為cookie是記憶在瀏覽器的啊 12/31 20:59
akafair: 謝Toby大 我成功了 先連去主頁面抓cookie保存給後續的用 12/31 21:11