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

背景

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

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

新建网盘爬虫识别项目

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

dotnet new webapi -o WebBotRecognition --no-https

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

cd WebBotRecognition

切换到项目目录

code .

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

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

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

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

执行命令,先运行起来。

dotnet watch run

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

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

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

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

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

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

尝试解析请求来源的User Agent

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

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

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

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

安装UAParser

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

dotnet add package UAParser

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

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

新建接口测试

参考

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

上一篇:.NetCore(Avalonia) 项目dll混淆,deb安装包解压,重新打包


下一篇:PHP中环境变量的操作