Skip to content

Commit af4f2b4

Browse files
kohlerpop1jwdeveloper
authored andcommitted
Push for proxy test pt 3!
1 parent 2c12b71 commit af4f2b4

File tree

5 files changed

+21
-16
lines changed

5 files changed

+21
-16
lines changed

API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/HttpClientSettings.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public class HttpClientSettings {
4646
final Map<String, String> cookies;
4747

4848
@Getter
49+
@Setter
4950
ProxyClientSettings proxyClientSettings;
5051

5152
@Getter
@@ -104,7 +105,7 @@ public HttpClientSettings clone() {
104105
newSettings.getHeaders().putAll(new TreeMap<>(this.headers));
105106
newSettings.getCookies().putAll(new TreeMap<>(this.cookies));
106107
newSettings.getParams().putAll(new TreeMap<>(this.params));
107-
newSettings.proxyClientSettings = this.proxyClientSettings.clone();
108+
newSettings.proxyClientSettings = this.proxyClientSettings;
108109

109110
return newSettings;
110111
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/ProxyClientSettings.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ public class ProxyClientSettings implements Iterator<ProxyData>
3939
private int index = 0;
4040
private boolean autoDiscard = true;
4141
private Proxy.Type type = Proxy.Type.DIRECT;
42-
private Consumer<ProxyData> onProxyUpdated = (x)->{};
43-
42+
private Consumer<ProxyData> onProxyUpdated = x -> {};
4443

4544
public boolean addProxy(String addressPort) {
4645
return proxyList.add(ProxyData.map(addressPort));
@@ -66,19 +65,17 @@ public boolean hasNext() {
6665
@Override
6766
public ProxyData next()
6867
{
69-
var nextProxy = switch (rotation)
68+
var nextProxy = switch (rotation)
7069
{
7170
case CONSECUTIVE -> {
7271
index = (index+1) % proxyList.size();
73-
yield proxyList.get(index).clone();
72+
yield proxyList.get(index).clone();
7473
}
7574
case RANDOM -> {
7675
index = new Random().nextInt(proxyList.size());
7776
yield proxyList.get(index).clone();
7877
}
79-
default -> {
80-
yield proxyList.get(index).clone();
81-
}
78+
case NONE -> proxyList.get(index).clone();
8279
};
8380
onProxyUpdated.accept(nextProxy);
8481
return nextProxy;
@@ -98,13 +95,14 @@ public void setIndex(int index) {
9895
this.index = index;
9996
}
10097
}
101-
102-
public ProxyClientSettings clone() {
98+
public ProxyClientSettings clone()
99+
{
103100
ProxyClientSettings settings = new ProxyClientSettings();
104101
settings.setEnabled(enabled);
105102
settings.setRotation(rotation);
106103
settings.setIndex(index);
107104
settings.setType(type);
105+
settings.setOnProxyUpdated(onProxyUpdated);
108106
proxyList.forEach(proxyData -> settings.addProxy(proxyData.getAddress(), proxyData.getPort()));
109107
return settings;
110108
}

Client/src/main/java/io/github/jwdeveloper/tiktok/http/HttpClientFactory.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
*/
2323
package io.github.jwdeveloper.tiktok.http;
2424

25-
import io.github.jwdeveloper.tiktok.data.settings.LiveClientSettings;
25+
import io.github.jwdeveloper.tiktok.data.settings.*;
2626

2727
public class HttpClientFactory {
2828
private final LiveClientSettings liveClientSettings;
@@ -37,6 +37,9 @@ public HttpClientBuilder client(String url) {
3737

3838
//Does not contains default httpClientSettings, Params, headers, etd
3939
public HttpClientBuilder clientEmpty(String url) {
40-
return new HttpClientBuilder(url);
40+
41+
var settings = new HttpClientSettings();
42+
settings.setProxyClientSettings(liveClientSettings.getHttpSettings().getProxyClientSettings());
43+
return new HttpClientBuilder(url,settings);
4144
}
42-
}
45+
}

Client/src/main/java/io/github/jwdeveloper/tiktok/http/HttpProxyClient.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,10 @@ public void checkServerTrusted(X509Certificate[] x509Certificates, String s) {}
9292

9393
while (proxySettings.hasNext()) {
9494
try {
95-
Proxy proxy = new Proxy(Proxy.Type.SOCKS, proxySettings.next().toSocketAddress());
95+
var proxyData = proxySettings.next();
96+
Proxy proxy = new Proxy(Proxy.Type.SOCKS, proxyData.toSocketAddress());
9697

98+
System.err.println("Attempting connection to "+ url +" with proxy: "+proxyData);
9799
HttpsURLConnection socksConnection = (HttpsURLConnection) url.openConnection(proxy);
98100
socksConnection.setSSLSocketFactory(sc.getSocketFactory());
99101
socksConnection.setConnectTimeout(httpClientSettings.getTimeout().toMillisPart());
@@ -113,6 +115,7 @@ public void checkServerTrusted(X509Certificate[] x509Certificates, String s) {}
113115

114116
return Optional.of(response);
115117
} catch (SocketException | SocketTimeoutException e) {
118+
e.printStackTrace();
116119
if (proxySettings.isAutoDiscard())
117120
proxySettings.remove();
118121
} catch (Exception e) {

Examples/src/main/java/io/github/jwdeveloper/tiktok/ProxyExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ public static void main(String[] args) throws Exception {
4545
{
4646
clientSettings.setPrintToConsole(true);
4747
clientSettings.getHttpSettings().configureProxy(proxySettings -> {
48-
proxySettings.setType(Proxy.Type.SOCKS);
4948
proxySettings.setOnProxyUpdated(proxyData ->
5049
{
51-
System.out.println("Next proxy! "+proxyData.toString());
50+
System.err.println("Next proxy: "+proxyData.toString());
5251
});
52+
proxySettings.setType(Proxy.Type.SOCKS);
5353
entries.forEach(entry -> proxySettings.addProxy(entry.getKey(), entry.getValue()));
5454
});
5555
})

0 commit comments

Comments
 (0)