首页 > Web开发 > 详细

温故知新,.Net Core利用UserAgent+rDNS双解析方案,正确识别并反爬虫

时间:2021-05-17 13:31:06      阅读:32      评论:0      收藏:0      [点我收藏+]

背景

一般有价值的并保有数据的网站或接口很容易被爬虫,爬虫会占用大量的流量资源,接下来我们参考历史经验,探索如何在.Net Core中利用UserAgent+rDNS双解析方案来正确识别并且反爬虫。

技术分享图片

新建网盘爬虫识别项目

在终端命令行中,基于DotNet-Clinew命令新建名为WebBotRecognitionwebapi项目,并且不需要https,它将自动创建一个net5.0的网络接口项目。

dotnet new webapi -o WebBotRecognition --no-https

技术分享图片

cd WebBotRecognition

切换到项目目录

code .

用Visual Studio Code来打开当前目录。

技术分享图片

技术分享图片

于是,我们便完成一个演示项目创建。

执行命令,先运行起来。

dotnet watch run

技术分享图片

技术分享图片

基于DotNet-Clirun命令把项目中的模板示例先运行起来,确保一切正常,这里携带watch参数来确保后面热更新。

好了,接下来,我们删掉自带的Controller那些东西。

技术分享图片

技术分享图片

尝试解析请求来源的User Agent

User Agent中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

在.Net Core中我们可以基于UAParser组件包来实现对User Agent字符串的识别和解析。

https://github.com/ua-parser/uap-csharp

技术分享图片

安装UAParser

https://www.nuget.org/packages/UAParser/

dotnet add package UAParser

技术分享图片

基于DotNet-Cliadd package命令在当前项目中安装并添加UAParser组件。

新建接口测试

参考

温故知新,.Net Core利用UserAgent+rDNS双解析方案,正确识别并反爬虫

原文:https://www.cnblogs.com/taylorshi/p/14775741.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!