看板 C_Sharp 關於我們 聯絡資訊
※ 引述《yu1 (~renard~)》之銘言: : 之前用了反組譯程式看了一個會連到線上翻譯網站的軟體的程式碼 : 不過碰到一些問題想來請教板上先進 : 主要是關於HttpWebRequest和HttpWebResponse的問題 : 以下是程式碼: : HttpWebRequest request = (HttpWebRequest)WebRequest.Create( : "http://www.excite.co.jp/world/chinese/?before=" + : System.Web.HttpUtility.UrlEncode(textBox1.Text, : Encoding.GetEncoding("UTF-8"))); : 這邊碰到的問題就是 : 1. HttpUtility他說"System.Web"中沒有型別或命名空間名稱"HttpUtility" : <想要自己拿來編譯時> 要在專案裡加入System.Web的參考 : 接下來: : HttpWebResponse response = (HttpWebResponse)request.GetResponse(); : StreamReader reader = new StreamReader(response.GetResponseStream() : , Encoding.GetEncoding("UTF-8")); : string input = http://www.excite.co.jp/world/chinese/?before= : + HttpUtility.UrlEncode("使用者輸入的單字", : Encoding.GetEncoding("UTF-8")) + "\n" + reader.ReadLine(); : reader.Close(); : return input; : 而這邊碰到的問題是 : 2. 這裡的GetResponse()拿到的到底是什麼東西呢? : 據MSDN說是一串String,不過是全部的網頁原始碼呢..還是..?? GetResponse()拿到的是WebResponse物件 使用這個物件的GetResponseStream()可以拿到一個資料流 再用StreamReader的ReadToEnd()就可以拿到該網頁的原始碼(String) : 3. 延續上面...這邊reader.ReadLine()的作用 : 自目前資料流讀取一行字元,並將資料以字串傳回。<by MSDN> : 可是網頁資料那麼多,怎麼知道那一行是我要的結果呢? 一行應該就是遇到\n時算一行 : 4. 看不太懂他的input要存的是什麼? : 也就是input那後面一串的結果會是什麼? 這裡看的不是很懂@@ : -------------------------- : 煩請各位先進不吝指教,感謝 :) 以上可能會有錯誤@@ 敬請見諒 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.142.153.242
yu1:感謝..原來不是"using system.web"就行了 .... 07/14 20:25
yu1:最後面的input我還是解讀不能@@" 畢竟不是自己的程式碼呀...XD 07/14 20:27
yu1:不過現在有個問題是..回傳的原始碼太了..裡面雖然有我要的 07/14 20:40
yu1:翻譯結果..請問我該如何只選到結果來表示呢? 07/14 20:41
yu1:目前知道他的結果,前後都會有固定的html碼夾住 07/14 20:42
yu1:啊...看到他本身的解決方法了... 07/14 20:47
mongsq:可以用Regex類別 07/14 21:24