日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

window访问不到linux的activemq_springboot整合开源项目测试拦截接口访问的频率

發(fā)布時(shí)間:2025/3/12 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 window访问不到linux的activemq_springboot整合开源项目测试拦截接口访问的频率 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本節(jié)目標(biāo)

本篇文章主要是介紹以下springboot整合開源項(xiàng)目,實(shí)現(xiàn)反爬蟲接口防刷的demo,額外的介紹一下axios的基本用法;所以本篇文章閱讀起來相對(duì)輕松。OK,下面開始整合.

引入項(xiàng)目依賴

cn.keking.project kk-anti-reptile 1.0.0-RELEASEorg.redisson redisson 3.13.5

依賴這里遇到了坑,按照它里面的文檔說明,如果項(xiàng)目不用redisson,是不需要引入redison的依賴的,只需要配置下redisson的連接就可以的,但是啟動(dòng)會(huì)報(bào)redis的連接錯(cuò)誤,但是貌似也能訪問。不過,有錯(cuò)誤就得解決,所以我又引入了redisson 的依賴,并且配置了本地的redisson地址,這才沒報(bào)錯(cuò)。

配置文件

spring: thymeleaf: mode: HTML prefix: classpath:/templates/ encoding: UTF-8 redisson: address: redis://127.0.0.1:6379anti: reptile: manager: enabled: true# 啟用反爬插件 ip-rule: expiration-time: 60000 #時(shí)間窗口,單位ms request-max-size: 3 #時(shí)間窗口內(nèi)最大請(qǐng)求數(shù)enabled: true # 啟用IP rule規(guī)則

所有配置都以anti.reptile.manager為前綴,具體配置如下:

數(shù)據(jù)來源此項(xiàng)目作者:kekingcn

這里需要說明的是,里面有些配置項(xiàng)不能自由配置,例如 ip-rule.lock-expire ,在配置文件中是找不到這個(gè)配置項(xiàng)的,剛開始我還以為看漏了,確實(shí)配置不了,而且它的默認(rèn)值是10天,不過我大概看了下,代碼中給的是1天,不知道是不是寫錯(cuò)了。

反爬蟲組件使用

使用還是比較簡(jiǎn)單的,只需要在需要反爬的接口上加一個(gè)注解就行了,如下

@Controllerpublic class TestController { @AntiReptile @GetMapping("/test/anti") @ResponseBody public String test() { return "hello world!!!"; }}

測(cè)試

在配置的時(shí)間窗口內(nèi)連續(xù)訪問,達(dá)到訪問的最大值,命中規(guī)則,就會(huì)出現(xiàn)下面的驗(yàn)證規(guī)則。這個(gè)驗(yàn)證頁面我也發(fā)現(xiàn)了個(gè)問題,就是輸入驗(yàn)證信息后,直接按enter,會(huì)跳到報(bào)錯(cuò)頁面,可能它這個(gè)enter的監(jiān)聽事件沒有做。

驗(yàn)證頁面

axios使用

項(xiàng)目中我們是不可能直接這么訪問接口的,一般都是從頁面點(diǎn)擊某個(gè)元素然后發(fā)起請(qǐng)求,那么就需要對(duì)這種命中規(guī)則后統(tǒng)一進(jìn)行攔截,讓其輸驗(yàn)證碼。我這里就cdn 引入了,這里的測(cè)試我就不貼出來了,需要的可以私信。配置如下:

//你的baseurlaxios.defaults.baseUrl = 'http://localhost:8080';// 添加響應(yīng)攔截器axios.interceptors.response.use(function (response) { // to do something console.log('攔截:' + response) return response;}, function (error) { console.log("進(jìn)來了。。。。。。。"); // to do something if (error.response.status === 509) {// 命中規(guī)則會(huì)返回509狀態(tài)碼 var html = error.response.data; //console.log('509錯(cuò)誤' + html) var verifyWindow = window.open("","_blank","height=400,width=560"); verifyWindow.document.write(html); verifyWindow.document.getElementById("baseUrl").value = baseUrl; }});

如果你是前端大神,請(qǐng)?zhí)^此處。作為一名后端猿人,對(duì)這個(gè)axios的基本用法也應(yīng)了解一些。下面是常用的方法,幫你羅列出來了。

// 發(fā)送 POST 請(qǐng)求axios({ method: 'post', url: '/user/12345', data: { firstName: 'Fred', lastName: 'Flintstone' }}); //無后續(xù)//發(fā)送POST, 后續(xù)處理axios.post('user',{firstName: 'Fred'}).then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });// 為給定 ID 的 user 創(chuàng)建請(qǐng)求axios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });// 上面的請(qǐng)求也可以這樣做axios.get('/user', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });//并發(fā)請(qǐng)求function getUserAccount() { return axios.get('/user/12345');}function getUserPermissions() { return axios.get('/user/12345/permissions');}axios.all([getUserAccount(), getUserPermissions()]) .then(axios.spread(function (acct, perms) { // 兩個(gè)請(qǐng)求現(xiàn)在都執(zhí)行完成 }));

更多用法詳見:http://www.axios-js.com/zh-cn/docs/#axios-API

總結(jié)

目前感覺這個(gè)開源項(xiàng)目還需要再沉淀一下,需要更多的人測(cè)試優(yōu)化,今天只是簡(jiǎn)單的使用了其中一兩個(gè)配置,其他的配置還沒有測(cè)試,大家感興趣的,可以自己去試下。喜歡小編的朋友可以關(guān)注下小編,評(píng)論里留下你的見解。最后,點(diǎn)贊+轉(zhuǎn)發(fā),私信小編【anti】,獲取源碼地址。

總結(jié)

以上是生活随笔為你收集整理的window访问不到linux的activemq_springboot整合开源项目测试拦截接口访问的频率的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。