前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >接口使用反爬虫机制来限制非正常访问如何绕过

接口使用反爬虫机制来限制非正常访问如何绕过

作者头像
岳泽以
发布于 2023-05-14 01:18:13
发布于 2023-05-14 01:18:13
65300
代码可运行
举报
文章被收录于专栏:岳泽以博客岳泽以博客
运行总次数:0
代码可运行
  1. 设置 User-Agent 头

在 HTTP 请求中,User-Agent 头字段用于标识客户端的类型和版本信息。浏览器通常会发送 User-Agent 头,而其他访问方式可能不会发送或发送不同的 User-Agent 头。因此,您可以尝试设置一个与浏览器相似的 User-Agent 头,来模拟浏览器行为。

例如,在 PHP 的 curl 函数中,可以使用 CURLOPT_USERAGENT 选项来设置 User-Agent 头:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 创建 curl 句柄
$ch = curl_init();

// 设置 curl 选项
curl_setopt($ch, CURLOPT_URL, 'http://example.com/api');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3');

// 执行 curl 请求并获取响应结果
$response = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);

// 关闭 curl 句柄
curl_close($ch);

// 输出结果
echo $response;
echo $status_code;
echo $content_type;

在上述示例中,CURLOPT_USERAGENT 选项用于设置 User-Agent 头,该头指定了一个 Chrome 浏览器的 User-Agent 字符串。

  1. 设置 Referer 头

在 HTTP 请求中,Referer 头字段用于标识请求来源页面的 URL。某些反爬虫机制可能会检查 Referer 头来限制非正常访问。因此,您可以尝试设置一个与实际来源页面相似的 Referer 头,来模拟浏览器行为。

例如,在 PHP 的 curl 函数中,可以使用 CURLOPT_REFERER 选项来设置 Referer 头:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 创建 curl 句柄
$ch = curl_init();

// 设置 curl 选项
curl_setopt($ch, CURLOPT_URL, 'http://example.com/api');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.example.com');

// 执行 curl 请求并获取响应结果
$response = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);

// 关闭 curl 句柄
curl_close($ch);

// 输出结果
echo $response;
echo $status_code;
echo $content_type;

在上述示例中,CURLOPT_REFERER 选项用于设置 Referer 头,该头指定了一个来源页面的 URL。

需要注意的是,以上方法仅限于模拟浏览器行为来绕过简单的反爬虫机制。如果目标网站使用更复杂的反爬虫技术,这些方法可能无效。在进行任何爬取操作前,请务必先了解目标网站的反爬虫机制和相关政策,并遵守相关规定。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023 年 05 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CSS样式更改——2D转换
上篇文章主要讲述了CSS样式更改中的裁剪、Z-Index、清除、改变元素的特性基础知识,这篇文章我们来介绍下CSS样式更改中2D转换的基础用法。
前端皮皮
2020/11/25
1K0
CSS3详解:transform
近来,HTML5和CSS3的发展速度还是很可观的,国内外不乏一些大站,酷站都在使用最新的技术。面对新的技术,我们该如何正确的把握和使用到今后的项目实战中呢?针对这一问题,浩子决定剖析CSS3,一一像各位同学解答CSS3到底是个神马东西。就已transform开始吧,写的不好的话,请严重拍砖!!
py3study
2020/01/15
5760
【一起来烧脑】一步学会CSS3体系
background-image属性添加背景图片 background-size指定背景图像的大小 background-origin属性指定了背景图像的位置区域
达达前端
2019/07/19
7180
【一起来烧脑】一步学会CSS3体系
收集整理一些css3的图片阴影效果
主要利用gradient,transform,配合after以及before伪元素来实现各种图片阴影,卷角效果。 <!DOCTYPE HTML> <html lang="en-US"> <head>
练小习
2017/12/29
7380
CSS3 transform 属性(2D,3D旋转)
Internet Explorer 10、Firefox、Opera 支持 transform 属性。
小小咸鱼YwY
2020/06/19
6810
css笔记 - transform学习笔记(二)
属于2D/3D上的转换、变形效果。他不是一个动画,他就是变形。比如正方形变平行四边形,再变圆形。都是形状变成另一个形状。
xing.org1^
2018/09/20
1.7K0
CSS3实现图形曲线阴形和翘边阴影
本文首发于前端Q公众号,时间为2016年03月12日,由于当时没标原创,现重发一下标注原创...
winty
2019/12/21
8660
CSS3实现图形曲线阴形和翘边阴影
css 总结2 原
 div { transform: translate(50px,100px); -ms-transform: translate(50px,100px);        /* IE 9 */ -webkit-transform: translate(50px,100px);    /* Safari and Chrome */ -o-transform: translate(50px,100px);        /* Opera */ -moz-transform: translate(50px,100px);        /* Firefox */ } div { transform: rotate(30deg); -ms-transform: rotate(30deg);        /* IE 9 */ -webkit-transform: rotate(30deg);    /* Safari and Chrome */ -o-transform: rotate(30deg);        /* Opera */ -moz-transform: rotate(30deg);        /* Firefox */ } div { transform: scale(2,4); -ms-transform: scale(2,4);    /* IE 9 */ -webkit-transform: scale(2,4);    /* Safari 和 Chrome */ -o-transform: scale(2,4);    /* Opera */ -moz-transform: scale(2,4);    /* Firefox */ } div { transform: skew(30deg,20deg); -ms-transform: skew(30deg,20deg);    /* IE 9 */ -webkit-transform: skew(30deg,20deg);    /* Safari and Chrome */ -o-transform: skew(30deg,20deg);    /* Opera */ -moz-transform: skew(30deg,20deg);    /* Firefox */ } translate(x,y)    定义 2D 转换,沿着 X 和 Y 轴移动元素。 translateX(n)    定义 2D 转换,沿着 X 轴移动元素。 translateY(n)    定义 2D 转换,沿着 Y 轴移动元素。 scale(x,y)    定义 2D 缩放转换,改变元素的宽度和高度。 scaleX(n)    定义 2D 缩放转换,改变元素的宽度。 scaleY(n)    定义 2D 缩放转换,改变元素的高度。 transform:translate(0 ,-50%) rotate(45deg);
tianyawhl
2019/04/04
5570
CSS3中的变形处理
变形分类 缩放 使用scale方法来实现文字或图像的缩放,在参数中指定缩放倍率。例如“scale(0.5)”,表示缩小50 倾斜 使用skew方法来实现文字或图像的缩放,在参数中指定水平方向的倾斜角度与垂直方向的倾斜角度,若只有一个数值,则为水平方向的倾斜角度,单位为deg。 注:rotate表示的是旋转,仅一个数值,表示水平方向的旋转角度。 移动 使用translate方法来实现文字或图像的移动,在参数中指定水平方向的移动与垂直方向的移动,若只有一个数值,则为水平方向的移动。 对
就只是小茗
2018/03/07
6870
javascript图片展示墙特效
查看效果:http://hovertree.com/code/javascript/pwl4bhoi.htm
全栈程序员站长
2022/07/15
4.5K0
CSS3之transition&tran
http://www.renniaofei.com/code/css3-transform-shuxing-shiyong-xiangjie/
py3study
2020/01/08
4520
CSS3透明属性opacity建议收藏
查看效果:http://hovertree.com/hvtart/bjae/q3etb2qv.htm
全栈程序员站长
2022/07/15
4570
CSS3-transform变形功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css变形功能</title> <style> body{ background-color: #b9eef0; } h3,p{ margin:100px 0px; padding-bottom: 10px;
xing.org1^
2018/05/17
6810
CSS3 translate、transform、transition区别
translate:移动,     transform的一个方法               通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数:           用法transform: translate(50px, 100px);               -ms-transform: translate(50px,100px);               -webkit-transform: translate(50p
SpiritLing
2018/04/16
1.6K0
emlog图片鼠标经过抖动效果,全网适用
那么我给出一个方案,给需要抖动的img前面加个div  给div加class属性=dimg
用户8099761
2023/05/10
9850
CSS3 转换(Transform)
在CSS中,允许元素实现 2D 和 3D的转换效果,主要包含 :旋转,缩放,移动,倾斜        
py3study
2020/01/14
7970
html5手机端的点击弹出侧边滑动菜单代码
效果预览:http://hovertree.com/texiao/html5/19/
全栈程序员站长
2022/07/15
2.5K0
css3 动画应用 animations 和transtions transform在加上JavaScript 可以实现硬件加速动画。
transitions(过渡) 被应用于元素指定的属性变化时,该属性经过一段时间逐渐的过渡到最终想要的值。   主要包括四个属性:     执行变换的属性:transition-property 变换延续的时间:transition-duration     变换的速率变化:transition-timing-function     变换延迟时间:transition-delay。     1.transition-propery       语法:transition-property:
用户1197315
2018/01/19
1.7K0
一篇文章带你了解CSS基础知识和基本用法
相信做过网页的对Css都不是很陌生,它可以帮助我们重铸网页中很多绚丽的特效,尤其是现在Css已经发展3.0版本,很多功能更是丰富多彩,让我们的开发时间不仅大大缩短,而且还可以轻松做出许多华丽的特效,需要注意的是,Css相当于Html的一个美化装置,所以它必须依赖于Html才能发挥作用,那么今天我们就来深入了解下它吧。
前端皮皮
2020/11/26
11.2K0
一篇文章带你了解CSS基础知识和基本用法
如何实现复选框的全选和取消全选效果
如何实现复选框的全选和取消全选效果: 在很多网站都有这样的功能,当点击一个全选按钮之后,所有的复选框都会被选中,再点击之后会取消全选,功能非常的人性化,可以省却很多人力,下面就简单介绍一下JS如何实现此功能,代码实例如下:
全栈程序员站长
2022/07/15
2.3K0
推荐阅读
相关推荐
CSS样式更改——2D转换
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验