当前位置:   article > 正文

爬虫扩展——浅谈GET请求与POST请求_爬虫发起的是get

爬虫发起的是get

目录

前言

一. GET方法和POST方法的区别 

1.1 从语义上来看:

1.2 从表象上来看: 

1.3 其他区别: 

二. 在HTTP规范中的GET与POST 

2.1 HTTP规范中的GET

2.2 HTTP规范中的POST

2.3 POST为何返回Response对象

总结 

爬虫文章专栏


前言

        看过之前我的文章的朋友应该记得HTTP协议的请求报文的5个重要参数,其中有个method参数,用来指明请求的方法。若没有印象,可以移步初识爬虫——爬虫与HTML介绍先了解一下

         在说请求的方法之前,我们来明确一下URL是什么。URL的全称是统一资源定位符,一个URL其实就对应着网页上的一个资源,例如网页上的一张图片、一首音乐都是一个资源,都有一个URL与之对应。而我们向URL发起请求,实际上是在请求资源。
        最基本的请求方法其实有4种,分别为GET、POST、PUT、DELETE。对应着对资源的查、改、增、删。

一. GET方法和POST方法的区别 

1.1 从语义上来看:

  • GET一般用于获取/查询资源信息;
  • POST一般用于更新资源信息;  

1.2 从表象上来看: 

  •  GET请求的数据会附在URL的后面,以?分割URL和传输的数据,参数之间用&相连接。就如下图这样,在百度中搜索“周杰伦”,传递的数据放在了URL中。

  • POST则会将请求的数据放置在请求的Form(表单)中,就像下图这样,登录拉勾时,你的账号和密码不会附在URL后面,而是被隐藏了起来。

         POST比GET的安全性更高,通过上面的对比,其实大家已经能够发现了,如果我们在处理登录页面的时候,采取GET请求,会发生什么事呢?我们输入的账号和密码被明文携带在了URL后面,别人通过查看浏览器历史记录就能知道你的账号和密码,这将会是一件多么可怕的事情。

1.3 其他区别: 

        GET和POST当然还有其他的区别,不过剩下的暂时我们不需要过多地去了解,有兴趣的同学可以浏览下面的网址查看: HTML 请求方法

二. 在HTTP规范中的GET与POST 

2.1 HTTP规范中的GET

        根据HTTP规范,GET用于资源信息的获取,而且是安全并且幂等的。

  • 这里指的安全,仅仅意味着GET只表示资源的获取,而不对资源进行修改。但在实际操作中,很多人并没有按照这个规范来做,也有用GET请求来做增加或删除操作的。
  • 这里的幂等指的是对于同一个URL的请求来说,应该返回相同的结果。而POST则不是幂等的,拿登录来说,同样的一个URL,输入的账号和密码不同,返回的结果也是不一样的。

2.2 HTTP规范中的POST

        根据HTTP规范,POST表示可能会修改服务器上资源的请求。 例如常见的评论操 作,其实都应该通过POST来实现,评论提交后,资源信息就已经被修改了。 

2.3 POST为何返回Response对象

疑问:使用requests.get()返回一个Response对象没有疑问,而对requests.post()也会返回一个Response对象就有疑惑了,疑惑点都在于post不是向URL传输数据吗,怎么还会返回Response对象呢。
解答:其实GET和POST都是向URL发起请求,只是传递数据的方式不同而已,只要是发起请求,服务器都会给出响应的。

总结 

        程序员写代码并不是从0开始的,我们也是需要借助多个模板拼接,使得代码能够实现我们的想法,而且也并非默写出来,毕竟学习编程是开卷学习,开卷使用,加油,希望你我一同走进爬虫的世界~~

        欢迎大家留言一起讨论问题~~~


注:本文是参考风变编程课程资料(已经授权)及部分百度资料整理所得,系博主个人整理知识的文章,如有侵权,请联系博主,感谢~


爬虫文章专栏

https://blog.csdn.net/weixin_53919192/category_11748211.htmlhttps://blog.csdn.net/weixin_53919192/category_11748211.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/418839
推荐阅读
相关标签
  

闽ICP备14008679号