整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

小白学 Python 爬虫(10):Session

小白学 Python 爬虫(10):Session 和 Cookies

生苦短,我用 Python


如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:)

前文传送门:

小白学 Python 爬虫(1):开篇

小白学 Python 爬虫(2):前置准备(一)基本类库的安装

小白学 Python 爬虫(3):前置准备(二)Linux基础入门

小白学 Python 爬虫(4):前置准备(三)Docker基础入门

小白学 Python 爬虫(5):前置准备(四)数据库基础

小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装

小白学 Python 爬虫(7):HTTP 基础

小白学 Python 爬虫(8):网页基础

小白学 Python 爬虫(9):爬虫基础


引言

先说一个题外话,今天老司机翻车了,内容小编今天来不及写了,后面会整理下,分享给大家。

在介绍 Session 和 Cookies 之前,先介绍一个另外的概念 —— 静态网页和动态网页。

静态网页

静态网页就是我们上一篇写的那种 html 页面,后缀为 .html 的这种文件,直接部署到或者是放到某个 web 容器上,就可以在浏览器通过链接直接访问到了,常用的 web 容器有 Nginx 、 Apache 、 Tomcat 、Weblogic 、 Jboss 、 Resin 等等,很多很多。

如果说要举例子的话那么小编的个人博客站:https://www.geekdigging.com/ 就是一个纯粹的静态网页。

这种网页的内容是通过纯粹的 HTML 代码来书写,包括一些资源文件:图片、视频等内容的引入都是使用 HTML 标签来完成的。

它的好处当然是加载速度快,编写简单,访问的时候对 web 容器基本上不会产生什么压力。但是缺点也很明显,可维护性比较差,不能根据参数动态的显示内容等等。

有需求就会有发展么,这时动态网页就应运而生了。

动态网页

我们先不说动态网页的概念,先说说有哪些网站是由动态网页来构建的。大家常用的某宝、某东、拼夕夕等网站都是由动态网页组成的。

动态网页可以解析 URL 中的参数,或者是关联数据库中的数据,显示不同的网页内容。

现在各位同学访问的网站大多数都是动态网站,它们不再简简单单是由 HTML 堆砌而成,可能是由 JSP 、 PHP 等语言编写的,当然,现在很多由前端框架编写而成的网页小编这里也归属为动态网页。

说到动态网页,各位同学可能使用频率最高的一个功能是登录,像各种电商类网站,肯定是登录了以后才能下单买东西。那么,问题来了,后面的服务端是如何知道当前这个人已经登录了呢?

HTTP/1.1

现在大多数的网站使用的协议都是 HTTP/1.1 ,而 HTTP/1.1 最大的特点就是无状态、无连接的。

无状态就是指 HTTP 协议对于请求的发送处理是没有记忆功能的,也就是说每次 HTTP 请求到达服务端,服务端都不知道当前的客户端(浏览器)到底是一个什么状态。客户端向服务端发送请求后,服务端处理这个请求,然后将内容响应回客户端,完成一次交互,这个过程是完全相互独立的,服务端不会记录前后的状态变化,也就是缺少状态记录。

这就产生了上面的问题,服务端如何知道当前在浏览器面前操作的这个人是谁?

其实,在用户做登录操作的时候,服务端会下发一个类似于 token 凭证的东西返回至客户端(浏览器),有了这个凭证,才能保持登录状态。

那么这个凭证是什么?

这就是本篇文章要解释的核心内容,Session 和 Cookies 了。

Session 是会话的意思,会话是产生在服务端的,用来保存当前用户的会话信息,而 Cookies 是保存在客户端(浏览器),有了 Cookie 以后,客户端(浏览器)再次访问服务端的时候,会将这个 Cookie 带上,这时,服务端可以通过 Cookie 来识别本次请求到底是谁在访问。

可以简单理解为 Cookies 中保存了登录凭证,我们只要持有这个凭证,就可以在服务端保持一个登录状态。

在爬虫中,有时候遇到需要登录才能访问的网页,只需要在登录后获取了 Cookies ,在下次访问的时候将登录后获取到的 Cookies 放在请求头中,这时,服务端就会认为我们的爬虫是一个正常登录用户。

Session 保持

那么,Cookies 是如何保持会话状态的呢?

在客户端(浏览器)第一次请求服务端的时候,服务端会返回一个请求头中带有 Set-Cookie 字段的响应给客户端(浏览器),用来标记是哪一个用户,客户端(浏览器)会把这个 Cookies 给保存起来。

我们来使用工具 PostMan 来访问下某东的登录页,看下返回的响应头:

当我们输入好用户名和密码时,客户端会将这个 Cookies 放在请求头一起发送给服务端,这时,服务端就知道是谁在进行登录操作,并且可以判断这个人输入的用户名和密码对不对,如果输入正确,则在服务端的 Session 记录一下这个人已经登录成功了,下次再请求的时候这个人就是登录状态了。

如果客户端传给服务端的 Cookies 是无效的,或者这个 Cookies 根本不是由这个服务端下发的,或者这个 Cookies 已经过期了,那么接下里的请求将不再能访问需要登录后才能访问的页面。

所以, Session 和 Cookies 之间是需要相互配合的,一个在服务端,一个在客户端。

Cookies

我们还是打开某东的网站,看下这些 Cookies到底有哪些内容:

具体操作方式还是在 Chrome 中按 F12 打开开发者工具,选择 Application 标签,点开 Cookies 这一栏。

  • Name:这个是 Cookie 的名字。一旦创建,该名称便不可更改。
  • Value:这个是 Cookie 的值。
  • Domain:这个是可以访问该 Cookie 的域名。例如,如果设置为 .jd.com ,则所有以 jd.com ,结尾的域名都可以访问该Cookie。
  • Max Age:Cookie 失效的时间,单位为秒,也常和 Expires 一起使用。 Max Age 如果为正数,则在 Max Age 秒之后失效,如果为负数,则关闭浏览器时 Cookie 即失效,浏览器也不会保存该 Cookie 。
  • Path:Cookie 的使用路径。如果设置为 /path/ ,则只有路径为 /path/ 的页面可以访问该 Cookie 。如果设置为 / ,则本域名下的所有页面都可以访问该 Cookie 。
  • Size:Cookie 的大小。
  • HTTPOnly:如果此项打勾,那么通过 JS 脚本将无法读取到 Cookie 信息,这样能有效的防止 XSS 攻击,窃取 Cookie 内容,可以增加 Cookie 的安全性。
  • Secure:如果此项打勾,那么这个 Cookie 只能用 HTTPS 协议发送给服务器,用 HTTP 协议是不发送的。

那么有的网站为什么这次关闭了,下次打开的时候还是登录状态呢?

这就要说到 Cookie 的持久化了,其实也不能说是持久化,就是 Cookie 失效的时间设置的长一点,比如直接设置到 2099 年失效,这样,在浏览器关闭后,这个 Cookie 是会保存在我们的硬盘中的,下次打开浏览器,会再从我们的硬盘中将这个 Cookie 读取出来,用来维持用户的会话状态。

第二个问题产生了,服务端的会话也会无限的维持下去么,当然不会,这就要在 Cookie 和 Session 上做文章了, Cookie 中可以使用加密的方式将用户名记录下来,在下次将 Cookies 读取出来由请求发送到服务端后,服务端悄悄的自己创建一个用户已经登录的会话,这样我们在客户端看起来就好像这个登录会话是一直保持的。

理解误区

当我们关闭浏览器的时候会自动销毁服务端的会话,这个是错误的,因为在关闭浏览器的时候,浏览器并不会额外的通知服务端说,我要关闭了,你把和我的会话销毁掉吧。

因为服务端的会话是保存在内存中的,虽然一个会话不会很大,但是架不住会话多啊,硬件毕竟是会有限制的,不能无限扩充下去的,所以在服务端设置会话的过期时间就非常有必要。

当然,有没有方式能让浏览器在关闭的时候同步的关闭服务端的会话,当然是可以的,我们可以通过脚本语言 JS 来监听浏览器关闭的动作,当浏览器触发关闭动作的时候,由 JS 像服务端发起一个请求来通知服务端销毁会话。

由于不同的浏览器对 JS 事件的实现机制不一致,不一定保证 JS 能监听到浏览器关闭的动作,所以现在常用的方式还是在服务端自己设置会话的过期时间。

参考

https://baike.baidu.com/item/cookie/1119

.问:WORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?

答:分节,每节可以设置不同的页眉。文件――页面设置――版式――页眉和页脚――首页不同。

2.问:请问word 中怎样让每一章用不同的页眉?怎么我现在只能用一个页眉,一改就全部改了?

答:在插入分隔符里,选插入分节符,可以选连续的那个,然后下一页改页眉前,按一下“同前”钮,再做的改动就不影响前面的了。简言之,分节符使得它们独立了。这个工具栏上的“同前”按钮就显示在工具栏上,不过是图标的形式,把光标移到上面就显示出”同前“两个字来。

3. 问:如何合并两个WORD 文档,不同的页眉需要先写两个文件,然后合并,如何做?

答:页眉设置中,选择奇偶页不同/与前不同等选项。

4. 问:WORD 编辑页眉设置,如何实现奇偶页不同? 比如:单页浙江大学学位论文,这一个容易设;双页:(每章标题),这一个有什么技巧啊?

答:插入节分隔符,与前节设置相同去掉,再设置奇偶页不同。

5. 问:怎样使WORD 文档只有第一页没有页眉,页脚?

答:页面设置-页眉和页脚,选首页不同,然后选中首页页眉中的小箭头,格式-边框和底纹,选择无,这个只要在“视图”――“页眉页脚”,其中的页面设置里,不要整个文档,就可以看到一个“同前”的标志,不选,前后的设置情况就不同了。

6. 问:如何从第三页起设置页眉?

答:在第二页末插入分节符,在第三页的页眉格式中去掉同前节,如果第一、二页还有页眉,把它设置成正文就可以了

●在新建文档中,菜单―视图―页脚―插入页码―页码格式―起始页码为0,确定;●菜单―文件―页面设置―版式―首页不同,确定;●将光标放到第一页末,菜单―文件―页面设置―版式―首页不同―应用于插入点之后,确定。第2 步与第三步差别在于第2 步应用于整篇文档,第3 步应用于插入点之后。这样,做两次首页不同以后,页码从第三页开始从1 编号,完成。

7. 问:WORD 页眉自动出现一根直线,请问怎么处理?

答:格式从“页眉”改为“清除格式”,就在“格式”快捷工具栏最左边;选中页眉文字和箭头,格式-边框和底纹-设置选无。

8. 问:页眉一般是---------,上面写上题目或者其它,想做的是把这根线变为双线,WORD 中修改页眉的那根线怎么改成双线的?

答:按以下步骤操作去做:

●选中页眉的文字,包括最后面的箭头●格式-边框和底纹●选线性为双线的●在预览里,点击左下小方块,预览的图形会出现双线●确定▲上面和下面自己可以设置,点击在预览周围的四个小方块,页眉线就可以在不同的位置。

9. 问:Word 中的脚注如何删除?把正文相应的符号删除,内容可以删除,但最后那个格式还在,应该怎么办?

答:步骤如下:1、切换到普通视图,菜单中“视图”――“脚注”,这时最下方出现了尾注的编辑栏。2、在尾注的下拉菜单中选择“尾注分隔符”,这时那条短横线出现了,选中它,删除。3、再在下拉菜单中选择“尾注延续分隔符”,这是那条长横线出现了,选中它,删除。4、切换回到页面视图。尾注和脚注应该都是一样的。

10. 问:Word 里面有没有自动断词得功能?常常有得单词太长了,如果能设置下自动断词就好了

答:在工具―语言―断字―自动断字,勾上,word 还是很强大的。

11. 问:如何将word 文档里的繁体字改为简化字?

答:工具―语言―中文简繁转换。

12. 问:怎样微调WORD 表格线?WORD 表格上下竖线不能对齐,用鼠标拖动其中一条线,可是一拖就跑老远,想微调表格竖线让上下对齐,请问该怎么办?

答:选定上下两个单元格,然后指定其宽度就可以对齐了,再怎么拉都行press"Alt",打开绘图,其中有个调整坐标线,单击,将其中水平间距与垂直间距都调到最小值即可。打开绘图,然后在左下脚的绘图网格里设置,把水平和垂直间距设置得最小。

13. 问:怎样微调word 表格线?我的word 表格上下竖线不能对齐,用鼠标拖动其中一条线,可是一拖就跑老远,我想微调表格竖线让上下对齐,请问该怎么办?

答:可以如下操作:●按住ctl 键还是shift,你have atry●double click the line, try it ●打开绘图,设置一下网格(在左下角)。使水平和垂直都为最小,试一把!?●press "Alt"

14. 问:怎么把word 文档里已经有的分页符去掉?

答:先在工具――> 选项―― > 视图――>格式标记,选中全部,然后就能够看到分页符,delete 就ok了。

15. 问:Word 中下标的大小可以改的吗?

答:格式―字体

16. 问:Word 里怎么自动生成目录啊

答:用“格式>>样式和格式”编辑文章中的小标题,然后插入->索引和目录

17. 问:Word 的文档结构图能否整个复制? 论文要写目录了,不想再照着文档结构图输入一遍,有办法复制粘贴过来吗?

答:可以自动生成的,插入索引目录。

18. 问:做目录的时候有什么办法时右边的页码对齐?比如:1.1 标题..........11.2 标题...............2

答:画表格,然后把页码都放到一个格子里靠右或居中,然后让表格的线条消隐就可以了,打印出来就很整齐。

19. 问:怎样在word 中将所有大写字母转为小写?比如一句全大写的转为全小写的

答:格式->更改大小写->小写

20. 问:在存盘的时候,出现了问题,症状如下:磁盘已满或打开文件过多,不能保存,另开新窗口重存也不管用。如何解决?

答:把word 文档全选,然后复制,然后关掉word,电脑提示你粘贴板上有东西,要不要用于别的程序,选是,然后,再重新打开word,然后粘贴,然后,保存。

21. 问:WORD 中的表格一复制粘贴到PPT 中就散掉了,怎么把WORD 里面的表格原样粘贴到PPT 中?

答:1)比较好的方法是:先把表格单独存为一WORD 文件,然后插入-->对象,选由文件创建,然后选中上面的WORD 文件,确定;2)还可以先把表格copy 到excel中,然后copy 到PPT 中,这个也是比较好的办法;3)可以先做成文本框,再粘贴过去;4)复制粘贴,但是在PPT 中不能粘在文本框里面;5)拷屏,做成图片,再弄到PPT 里面。

22. 问:有没有办法将PPT 的文字拷入WORD 里面?

答:另存就可以了。只要以.rtf 格式另存即可

23. 问:word 中图片的分栏如何处理?假如有:1 2 图3 4 这样的结构,我想实现:1 3 图(要横跨两栏)2 4 但是,试了半天总是:1 2 图34 怎么办呀?help!

答:设置图片格式――版式――高级――文字环绕――环绕方式选上下型――图片位置――对齐方式选居中――度量依据选页面,要先改文字环绕,然后才能改图片位置

24. 问:用word 写东西时字距老是变动,有时候自动隔得很开,有时候进入下一行的时侯,上一行的字距又自动变大了,这是为什么?怎么纠正啊?

答:是因为自动对齐的功能,格式――>段落――>对齐方式可以选。还有允许断字的功能如果check 上,就不会出现你说的情况了。

25. 问:在使用WORD 的样式之后,如标题1、标题2 之类的,在这些样式前面总会出现一个黑黑的方块,虽然打印的时候看不到,但看着总是不舒服,有没有办法让它不要显示呢?

答:“视图”-->“显示段落标志”,把前面的勾去掉。其实这个很有用,可以便于知道哪个是标题段落

26. 问:文章第一页下面要写作者联系方式等。通常格式是一条短划线,下面是联系方式,基金支持等。这样的格式怎么做出来?就是注明页脚吗?

答:插入――脚注和尾注

27. 问:文字双栏,而有一张图片特别大,想通栏显示,应该怎么操作?

答:可以选择的内容,按双栏排。选择其他内容,按单栏排。

28. 问:Word 里面如何不显示回车换行符?

答:把视图->显示段落标记的勾去掉或工具->选项->视图->段落标记

29. 问:有没有方法把WORD 里的软回车一下子替换掉?识别出来的文字全带着软回车,能把他们一次全删掉吗??

答:查找+替换,按CTRL+H;软回车好象是^l,在特殊字符里有

30. 问:在WORD 里的框框里怎么打勾?

答:画个文本框,文本框里写一个钩,然后拖过去;或者先在WORD 里插入符号“√”,然后选中“√”,到-》格式-》中文版式-》带圈字符-》选“□”

31. 问:还是不行,这样拷过去的框框字体是windings 的,而原来的是宋体的,两者有很大的区别。

答:根据模板新建专业型传真,里面有框,双击后打勾,copy 就ok

32. 问:Word 中怎么在一个英文字母上打对号?

答:透明方式插入图片对象,内容是一个√

33. 问:WORD 里怎么显示修订文档的状态?文档修订后,改后标记很多,但是在菜单里没有“显示修订最终状态”等,怎么调出来?

答:工具->自定义->命令->类别(工具)->命令(修订)->把“修订”等拖到工具栏上

34. 问:怎样把许多分开的word 文档合并成一个文档。我的论文是按照章节分开写的,但现在图书馆要提交电子版的学位论文,是一个文档的,我找了很多选项但好象不能合并,选择插入文件功能,可以加入内容,但文档中的页眉却插不进去,有谁有高见?

答:acrobat6 可以直接把多个文档打印成一个pdf 文档。可以提交pdf 格式的论文,先一个一个word 文档转换为pdf 格式的,然后在pdf 文档菜单的文件菜单中,选上作为pdf 格式打开,追加上就可。

35. 问:Word 里面要写方程式怎么办啊?

答:插入-对象-公式编辑器equation,如果没有公式编辑器Equation,要自己从光盘中安装,或者安装Mathtype 公式编辑器按右键把它拖出来--插入--命令--自定义--工具应该是倒过来

36. 问:想在WORD 里面表示矩阵,怎样才能画出那个很大的矩阵括号?

答:装公式编辑器mathtype 好了~:)

37. 问:Word 的公式编辑器怎么安装?

答:工具-自定义-插入-公式编辑器,把它拖到工具条上即可;或者安装OFFICE 后,再次安装,选增加功能吧,会有提示的

38. 问:Word2000 下调用公式编辑器的快捷键?

答:点击菜单[工具]->[自定义],点击对话框下方[键盘],在[类别]里选择[插入],在命令里选择[InsertEquation],指定你的快捷方式

39. 问:WORD 中出现公式的行往往要比只有文字的行来得宽,如何把这些行改的跟只有文字的行一样宽?

答:段落行距设为固定值即可。这样会有一个问题,比如设置为18 磅,有些公式符号(特别是有下标的)不能全部显示打印稿可以显示。怎么解决这个问题?这个如何解决还需要考虑。

40. 问:我的文档就是公式多,应该怎么办?

答:公式多的时候,最好的消除这个问题的办法就是每打几个公式就要存盘,如果连续打太多,就会出现这个问题。出现问题的时候:●选中所有内容,ctrl+C●把WORD 所有文档关闭。

●最关键:出现一条信息,务必选择“是”●重新打开WORD 编辑器,●ctrl+V,粘贴●ctrl+S,存盘

41. 问:怎样在word 里面的公式编辑器中输入空格?

答:ctrl+shift+space

42. 问:如何使word 中公式全都小一号?一个一个选实在麻烦

答:在Mathtype公式编辑器中:首先,在Mathtype 中的菜单Size 中选define,定义所需的字号大小;再次,在Mathtype 中的菜单preferences 中的equation preference 的save to file 存贮所定义的字号文件;返回word 中:在Mathtype菜单中选Formatequation:1)在MathType preference file 中,选你刚才所定义的文件;2)在Range 中,选Wholedocument。最后,选OK,即OK了。

43. 问:如何将WORD 中的公式编缉拉到外面?

答:工具-自定义-命令-插入-右边找公式编辑器,往上脱

44. 问:怎样可以去掉word 里面公式,或是图片上方总是出现的灰色的横条啊?以前没有的,不知道怎么跑出来了,看着怪晕糊的。。。。。

答:工具->选项->视图->域底纹,选不显示,或选取时显示,就可以了

45. 问:整个论文用一个WORD 文档,太大,不好编辑,一个地方有增删,后面那么长一个文档版面分布会变得乱七八糟,特别是图表之类的东东。想让每章的偶数页自动显示自己的章号和题目,WORD 里这个能够自动实现吗?

答:不要整个论文放一个WORD 文档,一章一个,然后每章就可以奇偶分开处理了

46. 问:论文按照章节写的,想把它们合并成一个文件,并保持原有的文件格式。采用了在文件末尾插入分节符的方法,但插入后有些文件的部分格式发生了变化,请问如何解决?

答:用主控文档的方法比较好,在大纲模式里设置的;采取插入文件的方式,格式有些变化

47. 问:WORD 里边怎么样显示行号?

答:在页面设置那里,板式选项,最下面有个行号选项

48. 问:Word 里面怎么插入半个空格?

答:先在word 的工具栏上,点中双箭头那个纽,就可以看到原先看不到的空格,然后再编辑一下这个空格的大小,比如小五或小四什么的。

49. 问:只要一回车,或是改变光标位置的任何操作,都会使上一行的)变成=,有人遇到过这个问题么?

答:是不是设置了自动替换啊,符号里的自动替换看看吧!

50. 问:WORD 有没有可以按单词的首字母进行排序?就是从A-Z 进行排

答:表格中的内容可以按照拼音排序,弄到excel 里,排序,再回来

51. 问:怎么在word 里面打R^2?

答:先打R2,然后用鼠标选中2,同时按"Ctrl",“shift”和"+"

52. 问:Word 中发现空格都是小圆点,是怎么回事情?每输入一个空格就出现一个小圆点,怎么把它消除掉啊?这个空格会打印出来吗?

答:不会打印出来,如果想不显示:工具-选项-视图格式标记中前面的勾去掉即可

53. 问:word 如何使两个表格能排在一起?我做的表格每一个都比较小,但是表格数比较多,我想两个表格排成一行,请问该怎么做?

答:试试在局部分栏,每个分栏中一个表格。

54. 问:为什么换机器打开WORD 文档排版变了?在一台机器上排好板的WORD 文档换在另一台机器打开就变了?页码都不对了,怪哉。

答:是默认的页面设置不一样吧,或者版本不同

55. 问:Word 里面插入表格的问题,同一表格前后两行被分在了不同的页上,想**他们在同一页怎么做?

答:转换成图文框可能更容易排版一点,或者加个文本框

56. 问:怎么在word 里画坐标图?在word 里有了坐标图,文字却加不加去怎么办?

答:作图时直接将文字加上去;word 中的绘图工具条,文字环绕里面寻找合适的方案,把图放在文字的底层

57. 问:WORD 文件有密码,怎么办呢?

答:找破解软件,比如advanced_office_2000_password_recovery_pro_v1.03,但不一定好用。

58. 问:怎么给word 文档加密?

答:打开文档,另存为―工具―常规选项―打开、修改权限密码,保存

59. 问:Word 文件怎么转化为postscript 文件?

答:先转化为pdf,然后打印到文件,通过distiller 生成ps。

60. 问:Word 无法识别origin 中的汉字怎么办?用origin 做的图形中有汉字,copy 到word 中就成了问号,因此我不得不先用export 把图形变为jpg 文件才能解决这个问题,有没有方便的解决办法?

答:ORIGIN 里面的字体改成宋体或者仿宋

61. 问:请教怎么把Origin 中的图表拷贝到Word?

答:点origin 的Edit 菜单里的copypage 到word 里粘贴就行了

62. 问:把origin 的图复制粘贴到word,总有一大块的空白,这个空白有什么工具可以去掉吗?还有就是用word 自带的图表工具画图时,也是有一大块空白去不掉,这个可以解决吗?

答:右键选择图片工具栏,点裁减

63. 问:插入的图片为什么老是处于页面的顶端,想拖下来放到其他地方,却又自动跑到顶端去,就是拖不下来,请问该如何处理

答:改变图片的属性,就可以了。

64. 问:如何保证一幅图像固定在某一段的后面,另一段的前面,而不会因为前面段落的删减而位置改变?

答:右键点击图片->设置对象格式―>版式―>嵌入型

65. 问:如何把在WORD 里面图形工具画的图转化为jpg?

答:另存为html 格式,然后在html 文件对应的文件夹里找

66. 问:请问什么格式的图片插入word 最清晰?手头持有png 和tif格式,复制粘贴到word 中模糊一片,请问转换成什么图片格式用于word 最清晰?什么方法(插入图片来自文件还是直接复制粘贴)对清晰度有否影响?

答:emf,eps 等矢量图最清晰,不会因为缩放损失分辨率,而jpeg,bmp 等点阵图就不行了。

67. 问:在WORD 中如何让图片的左、上、下边都是文本?

答:在分栏的数量为1的情况下实现。图片选中后右键,设置图片格式--版式-四周型就可以了

68. 问:jpg 文件插入word 文件以后怎么让文件变小?jpg 格式图片插到word文件以后文件变的巨大,有什么方法可以让它小一点?最好能一张软盘放的下。

答:两个方法:●用photoshop 改变图片的分辨率,当然要看得清楚,然后插入word●word 有强大的压缩功能,把文档另存为比如:temp.doc,看看是不是小了很多。

69. 问:Matlab 仿真图片大家一般怎么弄到word 里面的?相对横轴和纵轴修改一下的说

答:一般都是在Matlab 里面把所有的直接修改好了,然后再保存的时候用jpg 格式,在word 中间导入就好了

70. 问:如何向WORD 中的图片添加文本?想在图片上输入一些说明文字

答:插入文本框,将版式设成“悬浮”在WORD 的绘图工具里面有个自选图形,找到你要的括号,直接在页面上画就可以了。可以移动,大小也可以改。然后把他挪到文字边上,即可。一个小窍门就是用CTRL+箭头可以进行微调。如果你觉得经常需要对这些文字编辑,怕图形错位的话,可以将需要的文字打在一个文本框里,记得将文本框设置成透明无色的(这样就看不见文本框了),然后将文本框和你的括号(或其他符号)组合成一个图形,就万无一失了

71. 问:AUTOCAD 的图拷贝到WORD 下如何处理?

答:有几种办法:一是可以在WORD 中进行CAD 编辑的方法:将CAD的背景设为白色,然后将CAD 窗口缩小,到你想复制的图形的大小,正好可以容纳就可以了,否则WORD 里面有很大的空白,然后,拷贝,选中所有的图形中的线条,右键。到WORD 中粘贴。二是,先转为wmf 文件,具体先将窗口缩小,如上,然后,按emport,选中线条,存储。WORD 中,插入,图形,来自, 文件,找到文件就可以插入了。

72. 问:文章用WORD 打开时,原有的公式全是红叉,以及WORD 中图变成red cross(红叉)怎么办?

答:基本上没有办法挽救回来了,只能重新插一遍图。据微软的技术支持所说,红叉是由于资源不够引起的。也就是说,如果你所编辑的文档过大,可能因为资源问题导致图片无法调入,从而显示红叉。可是实际情况是,有时候所编辑的文档并不大,可是还是出现红叉。这就可能是因为你设置了快速保存,在选项菜单中可以找到。这是由WORD 的文档结构所决定的。当你设置为快速保存时,每次保存的时候只是把你改动过的部分添加到文档尾部,并不重写文档本身,以达到快速的目的。所以,你会看到一个本来并不长的文档的实际大小可能有好几兆。当取消了快速保存后,文档长度将大大减小。还有一个减小红叉出现可能性的办法是把图片的属性中的"浮动"去掉。这样可能在编辑的时候有一定的困难,但是对于避免红叉的出现确实很灵。再说一句,一旦红叉出现了,应该是没有办法恢复的,只有再重新贴图。

73. 问:如果Word 突然定在那里了怎么办?

答:重新打开会回复,或者在word自身的templates 里面找到近期文件,重写的不用太多。

74. 问:如何解决word 说磁盘已满不让保存的问题?

答:有时候,当要保存一个文件时,Word 会弹出一个对话框说是磁盘空间已满,无法保存文件,可实际上磁盘上空间还很大。这是非常令人恼火的一件事情。这一信息最常见的原因是Temp 文件夹已经达到了一个文件夹中可以包含的最多文件数的上限。这时的解决方法很简单:在【资源管理器】中右击安装有Windows 系统的磁盘,在出现的快捷菜单中单击【属性】,将出现【属性】对话框,从【常规】选项卡中选择【磁盘清理】按钮,此时将出现【磁盘清理】对话框。执行磁盘清理完毕以后,Windows 会弹出一个新的对话框。在【要删除的文件】框中选中【临时文件】选项,然后选择【确定】。Windows 将删除临时文件。要人工删除临时文件,进入临时文件夹,删除任何旧的临时文件(临时文件以波浪号开始,以.tmp 扩展名结束),返回Word,再次试着保存文件。如果此时还不能正确保存文档,可以采取以下的方法,步骤如下:(l)按Ctrl+A 选定整个文档。(2)按Ctrl+C 将整个文档复制到内存中。(3)关闭Word 程序。此时系统会提示:"您将大量文本放在了'剪贴板'中,是否希望在退出Word 后这些文本仍可用于其他程序?"。(4)选择【是】按钮。(5)重新打开Word 程序。(6)按Ctrl+V,将复制下来的文本粘贴到新文件中。注意:在删除临时文件时,可能会出现一个对话框,提示不能删除正在使用的文件。这是因为Windows 运行的时候,需要不断地用到一些临时文件。因而,在人工删除临时文件时,试着在开始时只删除几个文件,然后对桌面上的回收站进行清空。否则可能无法删除所有选择的文件。

、简介

Fiddler是Web调试工具之一,它能记录所有客户端和服务器端的http和https请求,允许监视、设置断点、修改输入\输出数据。

测试中常使用的功能主要有:

1、对客户端发往服务端的请求及其响应进行分析

2、可以设置断点修改请求参数及返回

3、实现网络限速

4、设定规则对请求进行模拟

测试中主要使用了上述第一个功能点,故对此进行简介。

二、安装fiddler4

可通过官网进行下载并安装。

三、工作原理

Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。fiddler会自动给浏览器设置一个代理地址127.0.0.1 端口8888,并且记忆浏览器的代理设置,所有的请求先走fiddler代理,几乎所有使用网络协议的程序都支持代理服务器,因此Fiddler几乎适用于所有应用,在打开它的那一瞬间,它就已经设置好了浏览器的代理了,当你关闭的时候,它又帮你把代理还原了,是不是很贴心。

当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

如图:客户端将HTTP/HTTPS请求发送给Fiddler,Fiddler通常将这些请求转发给Web 服务器,然后,服务器把这些请求的响应返回给Fiddler,Fiddler再把这些响应转发给客户端。

1)Fiddler如何捕获HTTPS会话

默认下,Fiddler不会捕获HTTPS会话,需要设置下HTTPS选项卡用于控制Fiddler与监测安全传输的数据流相关的设置。

打开Fiddler Tool->Fiddler Options->HTTPS tab。

A:Capture HTTPS CONNECTs:捕获HTTPS连接,该选项决定Fiddler是否会注册为可以接收HTTPS请求的系统代理。

B:Decrypt HTTPS traffic:解密HTTPS流量,该选项决定Fiddler是否解析使用CONNECT通道发送的HTTPS请求和响应。选中该按钮时,会显示一个下拉框,可以选择默认解析哪些数据流,包含的选项如下:

选项说明

·from all processes 来自所有的进程,包括客户端和浏览器

·from browsers only 只接受来自浏览器的请求

·from non-browsers only 只接受来自非浏览器的请求

·from remote clients only 只接受来自远程的客户端请求

C:点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes即可)。

四、抓包参数设置

1、Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。

2、打开Tools > Fiddler Options中connections选项卡,Fiddler默认开启的端口为8888,开启允许远程连接(Allow remote computers to connect),如图示:

3、 设置过滤域名,可过滤掉一些不需要的会话,使界面看起来更清晰

1) 打开Filters Tab,将界面中Use Filters 选项打勾

2) 在界面中Hosts模式下选择Show the following Hosts选项表示在Fiddler中只显示以下域名的请求数据

3) 在Hosts文本区域输入我们要显示的域名如‘fpdk.jsgs.gov.cn:81’,可用分号分割多个域名

4) 点击Actions选项并选择Run Filterset Now后即设置成功

如图示:

五、Fiddler用户界面介绍

如图示:

1、 Web 请求会话列表:上面左侧内容部分包括所有从本机发出的HTTP请求

Web请求会话列表顶部菜单栏包含的内容如下:

1) # - Fiddler生成的会话列表ID

2) Result(请求结果)- HTTP响应的状态码

3) Protocol -(协议) 本次会话使用的协议类型(HTTP/HTTPS)

4) Host(主机名) - 发送本次请求的主机名

5) URL (网页地址)– 发送本次请求的路径和具体文件名

6) Body(内容大小)– 响应本次请求返回内容的大小

7) Caching(缓存) – 是否使用了缓存

8) Content- Type (响应的HTTP内容类型)– 响应的响应头的 content-Type值

9) Process(请求所运行的程序) – 数据流对应的本地Windows进程

10) Custom(自定义) – 通过脚本设置的文本域

11) Comments(注释)- 通过脚本或者再会话列表中右键添加的注释

可以通过拖拽来调整Web Sessions列表中的各个列标题,改变它们的大小和顺序,单击列标题,fiddler会按该列的值对Web Sessions中的项进行排序。

理解不同图标和颜色的含义

Web Sessions列表中的每行记录的默认文本色彩体现了HTTP状态(红色表示错误,黄色表示认证)、数据流类型(灰色表示connect)、响应类型(紫色表示CSS、蓝色表示HTML、绿色表示script、 灰色表示 图像)。

每行都有一个指向Session进度、请求类型或响应类型的快捷图标,图标及其含义见下图:

正在将请求数据发往服务器

正在从服务器下载返回数据

请求在断点处被暂停

响应在断点处被暂停

请求使用HTTP HEAD 方法;响应应当没有body内容

请求使用HTTP POST 方法

请求使用HTTP CONNECT 方法;使用HTTPS协议建立连接通道

返回的内容类型是HTML

返回的内容类型是图片

返回的内容类型是脚本文件

返回的内容类型是CSS文件

返回的内容类型是XML

响应是JSON

普通响应成功

响应是HTTP/300、301、302、303、307跳转

响应是HTTP304(无变更): 使用被缓存的版本

返回内容为一个证书请求

返回内容是Server错误

请求被客户端、Fiddler或者Server终止

2、命令行QuickExec工具主要包含内容

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令:

1) help 打开官方的使用页面介绍,所有的命令都会列出来

2) cls 清屏 (Ctrl+x 也可以清屏)

3) select 选择会话的命令

4) .png 用来选择png后缀的图片

5) bpu 截获request

3、HTTP请求

工具最右方的是请求相关信息的查看器,提供了数据多方面的查看方式。

1)Statistics(统计资料信息):关于HTTP请求的性能以及数据分析:

2)Inspectors(强大的检查器):用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容,功能很多,用到可深入挖掘学习:

3)AutoResponder(自动回复器)允许你拦截指定规则的求情,并返回本地资源或Fiddler资源,从而代替服务器响应,见图:

4)Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求。

Filters是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。见图:

--Zone 指定只显示内网(Intranet)或互联网(Internet)的内容:

--Host 指定显示某个域名下的会话:如图。如果框框为黄色(如图),表示修改未生效,点击红框里的文字即可。

Timeline(时间轴)在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间。

六、分析抓包后返回的数据

1、Inspectors tab下以Raw的方式可以看到完整的Response的消息,以抓取某平台为例,如图示:

2、数据分析

1)Status Line:状态行

Response 消息中的第一行叫做状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。

如上图:(HTTP/1.1 200 OK)

HTTP协议版本号:HTTP/1.1

状态码:200 表示请求已成功接收

状态消息:OK

注:

A)常用的HTTP方法

GET:用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器

POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。

PUT:传输文件,报文主体中包含文件内容,保存到对应URI位置。

HEAD:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。

DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。

GET方法:

使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器。

POST方法:

使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器。

B)常用的HTTP状态码

状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可知道服务器端是正常处理了请求,还是出现了错误

状态码如 ‘200 OK’,以3位数字和原因短语组成。

数字中的第一位指定了响应类别,后两位无分类。响应类别有以下5种

·1xx:指示信息--表示请求已接收,继续处理

·2xx:成功--表示请求已被成功接收、理解、接受

·3xx:重定向--要完成请求必须进行更进一步的操作

·4xx:客户端错误--请求有语法错误或请求无法实现

·5xx:服务器端错误--服务器未能实现合法的请求

2)Header:文件头,如图示:

包括内容如下:

a、Server:指明http服务器的软件信息;(gwwebs)

b、 Date:生成消息的具体时间和日期;

c、 Content-Type:Web服务器告诉浏览器自己响应的对象的类型和字符集;(text/javascript;charset=gbk)

d、Content-Length:发送给http服务器数据的长度;(931)

e、Connection: keep-alive继续使用之前已经建立的客户端和服务器之间用于传输http数据的连接;

f、 X-Powered-By:表示网站是用什么技术开发的;(Servlet/2.5 JSP/2.1 java编写的服务器程序)

3)Blank line: 表示空行

4)Body:文件体即返回的JSON可根据情况具体分析。

七、常见问题解析

问题一:重新安装后可能导致firefox无法上网

解决方法

fiddler的tools->fiddler options->Export Root Certificate to Desktop 导出到桌面,打开firefox,高级->证书->证书机构->导入刚才的证书即可。

问题二:证书过期导致工具无法使用

1、提示creation of the root certificate was not successful

2、进入fiddler目执行如下:

makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 01/01/2099

以上为对Fiddler工具的简单分解学习,欢迎大家共同学习指正。

请关注+私信回复:“测试” 即可邀请你进入【Python自动化测试学习交流群】与测试大牛一起探讨技术~~同时免费赠送软件测试学习资料