python爬虫post请求前多一次options预请求_前端每次请求数据时,都会先发一个option的请求请求,然后才有post, 这种是什么情况该怎么爬取?...

浏览器的同源策略限制了前端的跨域请求,但CORS(跨域资源共享)机制允许特定的跨域访问。在发送POST请求前,浏览器会先发起OPTIONS预请求,检查服务器是否允许指定的请求方法。对于Python爬虫而言,不受CORS限制,直接发起请求即可。文章介绍了CORS的工作原理,包括简单请求和非简单请求,并提供了相关学习资源。
摘要由CSDN通过智能技术生成

这个情况叫做跨域,如果你是后台爬这个东西,正常发请求就OK,就只CORS机制本身来讲是不会限制后台请求的。(当然如果服务器强限制Origin或者包含其它校验逻辑的话就另说了)

我们下面大概说一下这种跨域方案的实现机制。

它的全名是跨域资源共享机制(Cross-origin resource sharing,简称CORS)

是为了解决浏览器跨域访问资源限制而提出的一种解决方案。

它的基本思想是为HTTP请求头部添加额外的字段,来标识资源是否允许某个域名通过某种HTTP方法来访问。

基础知识:跨域资源共享 CORS 详解 - 阮一峰的网络日志​www.ruanyifeng.com

因为详细深入介绍CORS原理和机制的文章已经很多了,所以这里只举个不一定很合适的例子吧。

假设你(前端页面)要去图书馆(后台服务)办事。并且图书馆和你有一套共同遵循的图书馆公约(CORS机制),这套公约对你本人来说并不重要,因为它是社会(浏览器)中默认的潜规则(浏览器底层实现的)

那么去图书馆,最基础的事情当然是借书(GET请求)了。这个请求中除了索书号(资源URL)和常规的附带信息外(HTTP常规头),还会附加标识你身份的内容(头部的Origin),图书馆在收到请求后,就可以拿你的信息和该资源的读者数据库进行对比。并把结果告诉你,比如它会说这个资源允许所有人访问(Access-Control-Allow-Origin: *),或者至少这个资源允许你访问(Access-Control-Allow-Origin: ),再不然干脆摇头拒绝你(不返回Access-Control-Allow-Origin头),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值