作者mongsq (有学问的孟孟)
看板C_Sharp
标题Re: [问题] 传值给网页 & 抓网页资料
时间Sat Jul 14 20:00:26 2007
※ 引述《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
1F:推 yu1:感谢..原来不是"using system.web"就行了 .... 07/14 20:25
2F:→ yu1:最後面的input我还是解读不能@@" 毕竟不是自己的程式码呀...XD 07/14 20:27
3F:推 yu1:不过现在有个问题是..回传的原始码太了..里面虽然有我要的 07/14 20:40
4F:→ yu1:翻译结果..请问我该如何只选到结果来表示呢? 07/14 20:41
5F:→ yu1:目前知道他的结果,前後都会有固定的html码夹住 07/14 20:42
6F:推 yu1:啊...看到他本身的解决方法了... 07/14 20:47
7F:推 mongsq:可以用Regex类别 07/14 21:24