利用Java+DOS批处理实现网站刷流量

利用Java+DOS批处理实现网站刷流量最近开了个小店,木流量更木信誉,虽然东西已经便宜到要低于进价了。在不断向广大亲朋好友推荐的同时,想身为程序猿的我应该要做些什么,于是想到能否编程刷流量,网上一大堆刷流量的软件不敢用,搞不好店就得关门,还是自己解决吧。刷流量需要解决两个题,一是怎样访问算流量;二是怎样获取多个IP来访问,因为大家知道像淘宝这样的大型商城肯定是有各种防刷机制,一个IP肯定刷不了多少,搞不好就被封了,况且一个IP刷只能…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
最近开了个小店,木流量更木信誉,虽然东西已经便宜到要低于进价了大哭。 在不断向广大亲朋好友推荐的同时,想身为程序猿的我应该要做些什么,于是想到能否编程刷流量,网上一大堆刷流量的软件不敢用,搞不好店就得关门,还是自己解决吧。刷流量需要解决两个题,一是怎样访问算流量;二是怎样获取多个IP来访问,因为大家知道像淘宝这样的大型商城肯定是有各种防刷机制,一个IP肯定刷不了多少,搞不好就被封了,况且一个IP刷只能增加浏览量而不能增加访客数,作用还是不大。

于是我想到了两个方法:一是用httpclient后台执行get方法打开网页获取数据,代码如下:

复制代码
package com.alexia;

import java.io.IOException;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class AutoVisitSite {

    public static void main(String[] args) {
        
        // 访问10次
        for(int count = 1; count < 11; count++) {
            AutoVisit(count);
        }
        
    }

    public static void AutoVisit(int count) {
        
        HttpClient httpclient = new HttpClient();

         // 设置HTTP代理IP和端口
//         httpclient.getHostConfiguration().setProxy("58.252.56.149", 8080);
        
         // 代理认证(登录名+密码)
//         UsernamePasswordCredentials creds = new UsernamePasswordCredentials("root", "123456");
        
//         httpclient.getState().setProxyCredentials(AuthScope.ANY, creds);

        // Get调用
        GetMethod method = new GetMethod("http://alexia.taobao.com/");

        method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
                new DefaultHttpMethodRetryHandler(3, false));

        try {
            int statusCode = httpclient.executeMethod(method);

            if (statusCode != HttpStatus.SC_OK) {

                System.out.println(statusCode + ": " + method.getStatusLine());

            } else {

                // System.out.println(new String(method.getResponseBody(),
                // "GBK"));
                System.out.println("访问" + count + "次!");
            }

        } catch (IOException e) {
            
            e.printStackTrace();
            
        } finally {

            // 停留3s后再关闭连接
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            method.releaseConnection();
        }
    }
}
复制代码

结果当然是不行,要是这么简单,淘宝也可以关门了。通过淘宝的实时客户访问可知,淘宝是记录每一位访客来源的,是直接访问的还是站外访问的(也就是你推广的链接处访问进来),点击站外其他可以看到具体从哪个页面链接访问进来的,如下图所示:

利用Java+DOS批处理实现网站刷流量

所以此法不通(其实早知道了,只是还是想亲身尝试下以彻底死心)。于是想到了第二种方法:通过自动打开浏览器窗口访问网站,这种方法应该是可行的,就跟你自己手动打开浏览器访问网站效果一样,而打开浏览器针对不同版本的JDK也有不同的方法,如下:

复制代码
// 在新的浏览器窗口或在已有的浏览器窗口打开指定的URL(JDK 1.6以下)
    public static void openURL1(String url){  
         try {  
          Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler "+ url);  
         }catch(Exception e){
             e.printStackTrace();
         }  
    } 
    
    // 在新的浏览器窗口或在已有的浏览器窗口打开指定的URL(JDK 1.6以上)
    public static void openURL2(String url){  
        Desktop desktop = Desktop.getDesktop();
        if (Desktop.isDesktopSupported() && desktop.isSupported(Desktop.Action.BROWSE)) {
            URI uri = URI.create("http://lanxuezaipiao.blog.163.com/");
            try {
                desktop.browse(uri);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
   } 
复制代码

但为了打开浏览器后能及时关闭浏览器以避免产生多个窗口,我选择了利用Java执行DOS批处理的方式,即第一种方式,但上述第一种方式是用默认浏览器打开,而我系统的默认浏览器是Firefox,为了能在刷流量的同时还能继续上网,我决定用IE来执行刷流量的任务,批处理文件(autoVisit.bat)如下:

cd \
C:
cd Program Files\Internet Explorer
iexplore "http://item.taobao.com/item.htm?spm=a1z10.1.w4004-1854795698.36.SVY3Wd&id=18480249494"

然后Java调用这个批处理,代码如下:

复制代码
package com.alexia;

import java.io.IOException;

/**
 * 自动刷流量
 * 
 * @author Alexia
 *
 */
public class AutoFlux {

    /**
     * 
     * @param count
     *            访问次数
     * @param seconds
     *            每次访问时间
     * @throws InterruptedException 
     */
    public static void flux(int count, int seconds) {
        Process p1 = null, p2 = null;

        while (count-- > 0) {
            try {
                // 执行批处理开始打开IE浏览器访问
                p1 = Runtime.getRuntime().exec("cmd /c autoVisit.bat");
                
                // 访问延时(打开浏览器窗口要时间的)
                try {
                    Thread.sleep(1000 * seconds);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
                // 关闭IE浏览器
                p2 = Runtime.getRuntime().exec("taskkill /F /IM iexplore.exe");
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        
            p1.destroy();
            p2.destroy();
        }
    }

    /**
     * @param args
     * @throws InterruptedException 
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        // 访问10次,每次延时5s
        flux(2, 5);
    }

}
复制代码

你可能会想,没必要这么麻烦把,既然是执行批处理,何必需要Java来调用执行,执行运行.bat文件不就行了嘛,的确如此,因为开始不知道批处理的延时方法,现在知道了,改用批处理方式最简洁:

复制代码
@echo off
rem 首先找到IE浏览器的执行路径
cd \
C:
cd Program Files\Internet Explorer

rem 循环10次
for /l %%i in (1,1,10) do (
rem 打开网页并最小化窗口(不影响你当前工作)
start /min iexplore "http://item.taobao.com/item.htm?spm=a1z10.1.w4004-

1854795698.36.SVY3Wd&id=18480249494"

rem 延时5s
choice /t 5 /d y /n >nul

rem 关闭网页
taskkill /F /IM iexplore.exe
)
复制代码

上面的批处理在执行时还是会出现DOS窗口的,还是有点影响不好,所以为了不显示DOS窗口,又写了个VB脚本:

DIM objShell
set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /C autoVisit.bat", 0, TRUE)

这样就好了,完全不影响当前工作,真正实现了刷流量的功能。

但还是有问题没有解决:

1.打开IE时任务栏有显示图标,你会看到图标一下有一下没,希望能够隐藏任务栏上的IE图标(也就是后台运行吧),经过搜索只能隐藏通知区域的图标而无法隐藏任务栏的某个程序图标;

2.最关键的问题是如何多IP访问(增加访客量),这个问题我想到用代理服务器,IE可以设置代理服务器,关键是找不到可用的免费代理服务器,下载了个代理猎手ProxyHunter,在里面搜索了很久都搜不到一个免费的不要密码的,全是下面这些结果:

利用Java+DOS批处理实现网站刷流量

自己在网上也找了很多代理IP,放到猎手里一验证还是上面那些东西,没一个可用的,所以目前还为实现多IP访问网站的功能。

PS:如果谁有办法解决上面的两个问题,一定要告诉我,感激不尽!!!联系我

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187937.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PHP安装curl扩展

    昨天在写文章的时候,突然出现了一个很顽皮的bug。一直跳到404页面???于是我赶紧打开debug,看看什么情况!弹出的错误是:CalltoundefinedfunctionHome\Controller\curl_init()原来是curl扩展没有装……(ps:之前写文章的时候都没出现过这个情况,很顽皮~)来记录一下安装过程吧:…

  • GoLang 2021.3 激活破解方法

    GoLang 2021.3 激活破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 关于tof相机很好的总结~

    关于tof相机很好的总结~1.1TOF初探   TOF是Timeofflight的简写,直译为飞行时间的意思。所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度信息。TOF相机与普通机器视觉成像过程也有类似之处,都是由

  • 树莓派3B 系统安装及初始化配置教程[通俗易懂]

    树莓派3B 系统安装及初始化配置教程[通俗易懂]本文仅供学习交流使用,如侵立删!企鹅:1033383881相关软件下载链接SD卡格式化工具、系统烧录工具、Raspbian系统镜像https://pan.baidu.com/s/1o5j_uD31hxLsPP–GRZ4Bw提取码:9nhv1.烧录系统1.1SD卡格式化安装SD卡格式化工具,格式化SD卡1.2写入系统镜像至SD卡点击写入后会有个确认覆盖弹窗提示,YES即…

  • 三号伴唱※414

    三号伴唱※414这个名字还有点古怪,但是知道内幕的就不难理解了~先说三号伴唱,这个有点苦笑不得,或者叫自作自受,嗨,没办法,似乎我总是该不了这个幻想的习惯 ~所以教训是,当你没有看清face的时候,你有两个选择:1,继续保持这种朦胧美,不要有see的desire(ok,但是这一点比较难做到)2,请以一颗平常心,你看的就是你看到的,不要有任何臆想和推断,否则下一个吐血的就是你~ok,该能推断的出的就已

  • Python实验报告二

    Python实验报告二安徽工程大学Python程序设计班级:物流192姓名:唐家豪学号:3190505234成绩:日期:2020/3/5指导老师:修宇【实验名称】:顺序结构程序设计【实验目的】(1)掌握数

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号