作者james732 (好人超)
看板Programming
标题[请益] 自己写一个浏览器
时间Wed Jul 29 23:11:09 2015
小鲁对於浏览器的各项运作一直是一知半解的
资料传输、与server间的沟通、login...等等
google看了一些资料(RFC)却又觉得很难懂
虽然也用过wireshark抓封包,但也是看得茫茫然
所以想知道,有没有什麽书籍、网站
是教人如何自己实作一个浏览器
用http与相关协定与server沟通呢?
虽然很多程式语言/Framework都有提供Browser之类的Control
所以自己写浏览器听起来好像很蠢XD
但主要目标是想从实作来学习协定的内容
要怎麽写程式模拟与伺服器间的沟通、传输资料等等
程式语言暂不设限,谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.136.116.30
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Programming/M.1438182672.A.B38.html
1F:→ azureblaze: 沟通本身没什麽吧 socket丢一丢就好了111.248.192.107 07/29 23:14
其实我想知道的就是这部份,它到底是怎麽丢的
2F:→ azureblaze: 麻烦的是画出来和javascript111.248.192.107 07/29 23:14
这个我就不敢去想了...orz
3F:推 alex0914: http protocol 可以用浏览器开发者工具 27.147.1.205 07/29 23:43
4F:→ alex0914: 去观察 request 跟 response 27.147.1.205 07/29 23:43
好的,我研究一下这类工具怎麽用,有没有特定关键字呢?
5F:推 abcdefghi: 单纯想玩http, 可以写个简单的 client 114.42.187.44 07/30 11:29
6F:→ abcdefghi: 抓网站的网页和图片,再用一般的browser 114.42.187.44 07/30 11:32
7F:→ abcdefghi: 去开启, 如果最後是想尝试写简单的brow 114.42.187.44 07/30 11:33
8F:→ abcdefghi: ser,可以google一下 netsurf, http加简 114.42.187.44 07/30 11:35
9F:→ abcdefghi: 单的html parser,跳掉css,script,就满 114.42.187.44 07/30 11:37
10F:→ abcdefghi: 好玩了 114.42.187.44 07/30 11:38
好的,谢谢你的建议
11F:推 afafaf: 写不完的 111.80.109.81 07/30 13:40
自己写来玩玩儿~
12F:推 EdisonX: 神人超哥 推一个123.195.169.158 07/30 20:18
13F:推 Ssuio: 加油加油 114.34.134.181 07/30 23:56
15F:→ walelile: qt有现成的browser widget... 1.171.159.131 07/31 20:05
是的,所以我才说自己刻好像很蠢XD
不过我的主要目标是"学习"
昨天忘了讲,其实我想做的是自己写APP (手机或PC)
然後到网站去抓取我想要的资料
如果是单纯的HTML网页,我目前是可以做到的
但是如果有些需要使用者输入资料,然後才会跳出结果 (譬如拍卖网站)
或者需要登入之後才能做後续动作的网站
我就不知道要怎麽着手了…
又不太愿意乱抄sample并且乱试一通,就算成功了也不知道为什麽orz
※ 编辑: james732 (223.136.116.30), 07/31/2015 22:22:22
16F:→ azureblaze: 沟通可以从开socket telnet进去练习起111.248.192.107 08/01 00:44
17F:→ azureblaze: browser本质上就是一堆文字互传而已111.248.192.107 08/01 00:44
18F:→ azureblaze: 输入资料一般靠HTTP的GET或POST111.248.192.107 08/01 00:45
19F:→ azureblaze: boost::asio::socket可以用用看111.248.192.107 08/01 00:49
20F:→ walelile: crawler自己加query阿 登入如果没验证也 1.171.159.131 08/01 09:19
21F:→ walelile: 差不多吧 1.171.159.131 08/01 09:20
22F:推 eterbless: 你不如写一个FTP软体比较好 浏览器牵涉 111.248.96.213 08/02 12:05
23F:→ eterbless: 的东西太多了 111.248.96.213 08/02 12:05
24F:推 techo: 推小提琴手 也有core for C# ~111.243.133.245 08/02 13:17
25F:→ descent: ref: WebKit技术内幕180.217.248.108 08/05 23:01
26F:推 wuliou: 直接用kimono? 59.115.53.33 08/09 23:58
27F:→ readonly: 你写个 ftp server 还是 client 吧 61.228.170.204 08/11 23:11
28F:推 jackiechin: try .Net C# VB HttpWebRequest 1.34.142.158 05/25 20:08