需求分析
我有一个朋友,他嫌用手点赞点的手疼,想让我用技术手段帮他点赞。
这个需求很简单,下面提供具体思路:
技术要点
首先分析一下看到上面的场景首先能想到的方式吧。
去网页上点赞,一定是触发一次HTTP请求的。我们只需要使用抓包工具将该HTTP请求抓到,并且模拟一次一模一样的请求发送到该服务器上,就可以完成一次点赞操作。
如何抓包(HTTP请求报文)
其实使用Google Chrome自带的开发者工具就可以。如下图所示:
点击之后就可以得到一串Curl格式的报文。
我们先分析一下这串报文,将该curl导入到postman中,即可以看到请求的详细信息:
打开你的postman:
这样可以看到该请求的详细信息。你可以根据喜好篡改发送参数等等
解决方案
使用shell脚本发送请求:
走到这一步反而简单了。找到一台可以联网的Linux服务器,并且写一串脚本,将先前复制的curl参数粘贴进脚本:
MyShell.sh
count=1
step=1
while [ true ]
do
count=$(($count+$step))
curl 'https://xxxx/xxx/xx' \
-H 'Connection: keep-alive' \
-H 'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="98", "Google Chrome";v="98"' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'sec-ch-ua-mobile: ?1' \
-H 'User-Agent: (KHTML, li' \
-H 'sec-ch-ua-platform: "Android"' \
-H 'Origin: https://xxxxxxxx.com.cn' \
-H 'Sec-Fetch-Site: same-site' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Referer: https://xxxxxxxxxxx.cn/' \
-H 'Accept-Language: zh-CN,zh;q=0.9' \
-H 'Cookie: ' \
--data-raw 'share=0&photn=1' \
--compressed
echo -E "已经发送 $count 次http请求,点赞了$count 次!" >> "sendingLog.txt"
done
最后执行命令:nohup sh MyShell.sh &
如果你想要,可以开多个线程循环调用。
后记
本文仅供相关技术探讨,请不要恶意应用。其实技术含量并不复杂,只是使用curl模拟HTTP请求配合shell脚本发送罢了,代码在上面,大家遇到类似场景可以参考。
|