- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 HTTP及高级编程
A quick look 简介
HTTP及高级编程 目录
HTTP消息格式
HTTP请求/响应格式
HTTPURL编码
HTTP浏览器编程过程示例
HTTP编程?主要操作成员函数
小结
HTTP会话过程
HTTP会话过程
?
?
?
?
拆除
HTTP消息格式
抓包演示
登录数据
发送邮件数据
1 Get /mattmarg/ HTTP/1.0
2 User-Agent: Mozilla/2.0
3 Accept: text/html; */*
4 Cookie: name = value
5 Referer:http://www.XX.com
HTTP/1.0 表示了http的版本为1.0。其余几行就是消息头了,消息头主要是用来向服务器传达某种信息或指示。如告诉服务器自己的终端User-Agent)是什么(如果是浏览器则返回相应的浏览器型号),终端所可以解释的类型(Accept)是什么,是从哪个页面提交的请求(Referer),以及浏览器所能解释的语言(Accept-Language)等等.
01 HTTP/1.1 200 OK02 Server: Microsoft-IIS/5.103 X-Powered-By: ASP.NET04 Date: Sun, 06 Jul 2008 11:01:21 GMT05 Content-Type: text/html06 Accept-Ranges: bytes07 Last-Modified: Wed, 02 Jul 2008 01:01:26 GMT08 ETag: 0f71527dfdbc81:ade09 Content-Length: 461011 htmlhead/headbodyadfasfa
/body/html?其中,01行是状态行,用于显示服务器响应的状态,
HTTP/1.1显示了对应的http协议版本,200为状态数字,
OK为状态信息用于解释状态数字(
这里OK对应200,表示请求正常);
02~09是消息头部分,
10为空行,
11为实体内容(也就是服务器返回的网页内容)。
HTTP URL编码
Base64中,是将二进制连成一串,然后再按6位来分割,分割完后在前面补0凑齐8位,如果有剩余位则最后用0补齐;
eg.对aaa进行base64编码
aaa的二进制表示01100001 6位分割后为:011000 010110 000101 100001
刚好分割完,前面补0凑齐8位:
(00)011000 (00)010110 (00)000101 (00)100001
对应的十进制数为:24 22 5 33
根据base64编码对照表得出对应的为:Y W F h
所以aaa经过base64编码为:YWFh
HTTP 小结
浏览器的地址栏中输入 /? ,
然后按回车“,这之后发生了什么事?。
首先,浏览器找到该网址所指向的IP
1然后与其建立TCP连接,
2接着向百度服务器提出Get请求
3当服务器接收到我们的请求后,
向我们传送应答信息--百度的页面,
?
?
?
?
4然后断开连接。
void GoSearch( ); 导航到当前搜索页。该页在IE的属性中设置。
void GoForward( ); 导航到历史列表的下一个条目。
void GoHome( ); 导航到主页,该主页在IE的属性中设置。
void Refresh( ); 重新装入浏览器当前正在显示的URL或者文件,即刷新
void Stop( ); 撤销任何未完成的导航或下载,并且停止任何动态的页面元素,例如背景音乐和动画。
HTTP编程?主要操作成员函数
HTTP浏览器编程过程示例
1基本示例(点击查看外部视频)
不足:打开浏览器时,没有默认主页,面板为灰色;打开一个超链接后,网页是用IE浏览器打开。没有用自己编写的浏览器打开。
2.实现自己编写的浏览器打开超链接
方案:查看mndn文档:chtml::newwindow2函数和chtml:OnBeforeNavigate2的配合使用在mainForm.cpp中添加这两个函数。
不足:打开网页,有时会冒出对话框,提示脚本错误,并且打开多个网页文档时,关闭父窗口时,所有子窗口也跟着关闭。没有解决!
3.功能扩展:
(1)设定主页
在MainForm::OnInitialUpdate()中添加代码
CHtmlView::OnInitialUpdate();
Navigate2(_T(),NULL,NULL);即可。
不足:
您可能关注的文档
最近下载
- JGJ-T98-2010砌筑砂浆配合比设计规程(正式版).pdf VIP
- (高职)管理信息系统(第七版)教学课件(完整版).pptx
- 怎样解题数学思维的新方法读后感.doc VIP
- 2022年万宁菜篮子投资有限公司招聘考试题库及答案解析.docx VIP
- AI专题:2025年AI应用案例精选报告.pptx VIP
- 人教版物理九年级上册《第十八章 电功率》大单元整体教学设计.pdf
- 骨量不足的口腔种植外科技术.ppt VIP
- 海口市龙华区镇域污水处理厂及配套管网工程(遵谭镇) 环评报告.docx VIP
- 近零能耗建筑技术标准.docx VIP
- Unit 1 How can we become good learners Section B 1a-1e 课件(共26张PPT)(含音频+视频).pptx VIP
文档评论(0)