Я пытаюсь создать скрипт, который отправляет запрос на сайт, используя разные прокси.Вот метод отправки:
public static void send(boolean usingProxyB, int numberOfRequest, String ISP, String phoneNumber, String IP, Integer Port) {
String url = "";
String urlParameters = "";
String ip;
Integer port;
if ( (ISP.toLowerCase()).equals("something") || (ISP.toLowerCase()).equals("something") || ISP.equals("something") ) {
url = "https://www.something.com";
urlParameters = "paramA=x¶mB=" + phoneNumber + "¶mC=y";
}
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(IP, Port));
URL myUrl = new URL(url);
if (usingProxyB == true) {
conn = (HttpURLConnection) myUrl.openConnection(proxy);
} else if (usingProxyB == false) {
conn = (HttpURLConnection) myUrl.openConnection();
}
conn.setDoOutput(true);
conn.setRequestMethod("POST");
System.setProperty("sun.net.client.defaultConnectTimeout", "5000");
System.setProperty("sun.net.client.defaultReadTimeout", "5000");
conn.setRequestProperty("User-Agent", "Java client");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.getOutputStream().write(postData);
conn.getInputStream();
System.out.println("Success on sending SMS #" + numberOfRequest);
} catch(MalformedURLException e) {
System.out.println("A - Failed on sending SMS #" + numberOfRequest);
} catch(ProtocolException e) {
System.out.println("B - Failed on sending SMS #" + numberOfRequest);
} catch(IOException e) {
System.out.println("C - Failed on sending SMS #" + numberOfRequest);
} finally {
conn.disconnect();
}
}
Этот код отправляет POST-запросы, используя разные прокси или используя мой собственный ip.Когда я использую список прокси, он продолжает печатать: «C - Не удалось отправить SMS # 1».Он не меняет прокси и не закрывает соединение.
Когда прокси не работает или требуется более 5 секунд для отправки запроса, я хочу закрыть соединение в том жеПри этом соединение закрывается, когда выдается «Успех при отправке SMS №n».Когда я использую свой собственный IP, поэтому я не использую список прокси, он работает правильно.Запрос успешно отправлен и продолжает отправку другого запроса.
Я не знаю, имеет ли смысл то, что я говорю, но я не очень хорошо говорю по-английски.