java模拟ip_java 模拟多ip访问

java模拟多ip请求

package url_demo;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.URL;

import java.net.URLConnection;

import java.util.Random;

public class HttpUtilTest {

private int index = 0;

public String sendPost(String url, String param) {

PrintWriter out = null;

BufferedReader in = null;

String result = "";

try {

URL realUrl = new URL(url);

URLConnection conn = realUrl.openConnection();

// 随机生成ip

String ip = randIP();

conn.setRequestProperty("X-Forwarded-For", ip);

conn.setRequestProperty("HTTP_X_FORWARDED_FOR", ip);

conn.setRequestProperty("HTTP_CLIENT_IP", ip);

conn.setRequestProperty("REMOTE_ADDR", ip);

conn.setRequestProperty("Host", "");

conn.setRequestProperty("Connection", "keep-alive");

conn.setRequestProperty("Content-Length", "17");

conn.setRequestProperty("Accept", "application/json");

conn.setRequestProperty("Origin", "ORIGIN");

conn.setRequestProperty("User-Agent",

"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36");

conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

conn.setRequestProperty("Referer", "REFERER");

conn.setRequestProperty("Accept-Encoding", "gzip, deflate");

conn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8,en;q=0.6,ja;q=0.4,pt;q=0.2");

conn.setDoOutput(true);

conn.setDoInput(true);

out = new PrintWriter(conn.getOutputStream());

out.print(param);

out.flush();

in = new BufferedReader(new InputStreamReader(conn.getInputStream()));

String line;

while ((line = in.readLine()) != null) {

result += line;

}

synchronized (this) {

DemoUtl.index = DemoUtl.index + 1;

}

System.out.println("第" + DemoUtl.index + "次访问; --> || 当前线程:" + param + " || 请求成功! || 模拟ip: " + ip

+ " || 返回结果: " + result.toString().hashCode());

} catch (Exception e) {

// System.out.println("发送 POST 请求出现异常!" + e);

// e.printStackTrace();

} finally {

try {

if (out != null) {

out.close();

}

if (in != null) {

in.close();

}

} catch (IOException ex) {

ex.printStackTrace();

}

}

return result;

}

public static String randIP() {

Random random = new Random(System.currentTimeMillis());

return (random.nextInt(255) + 1) + "." + (random.nextInt(255) + 1) + "." + (random.nextInt(255) + 1) + "."

+ (random.nextInt(255) + 1);

}

}

package url_demo;

import java.util.Random;

public class DemoUtl {

public static int index = 0;

public static void main(String[] args) throws InterruptedException {

try {

for (int i = 0; i < 100000; i++) {

Thread.sleep((new Random()).nextInt(200) + 100);

new Thread(new Runnable() {

@Override

public void run() {

for (int j = 0; j < 100000; j++) {

try {

Thread.sleep((new Random()).nextInt(3200) + 1500);

HttpUtilTest tt = new HttpUtilTest();

tt.sendPost(

"https://www.baidu.com",

Thread.currentThread().getName());

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}).start();

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值