Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在proxychains后面运行java_Java_Proxy_Tor_Packets - Fatal编程技术网

如何在proxychains后面运行java

如何在proxychains后面运行java,java,proxy,tor,packets,Java,Proxy,Tor,Packets,我有一个java类,htmlunit的webclient在其中获取html页面。我想通过Tor代理发送数据包。在java代码中设置代理时,通过设置系统属性: System.getproperty("socksProxyHost","127.0.0.1"); System.getproperty("socksProxyPort","9050"); ,它工作正常。但当我想使用工具代理链时 proxychains java -jar MyPackagedJava.jar ,这不是工作! 换句话说,

我有一个java类,htmlunit的webclient在其中获取html页面。我想通过Tor代理发送数据包。在java代码中设置代理时,通过设置系统属性:

System.getproperty("socksProxyHost","127.0.0.1");
System.getproperty("socksProxyPort","9050");
,它工作正常。但当我想使用工具代理链时

proxychains java -jar MyPackagedJava.jar
,这不是工作!
换句话说,我想通过代理链发送htmlunit的数据包。如何执行此操作?

htmlun它不使用java代理设置,您必须在客户端设置期间配置此设置。
看一看,;有一个代理设置示例。

Java不通过代理链的代理发送数据包。因此,您必须在编码中设置代理。例如,当使用HtmlUnit和WebClient对象请求网页时,只需使用以下内容:

**WebClient webclient;**
if (proxy != null && !proxy.getHost().trim().equalsIgnoreCase("")) {
        if (proxy.getType() == null || proxy.getType().trim().equalsIgnoreCase("")
                || proxy.getType().trim().equalsIgnoreCase("http") ||
                proxy.getType().trim().equalsIgnoreCase("https"))
            webclient = new WebClient(BrowserVersion.CHROME, proxy.getHost(), proxy.getPort());
        else if (proxy.getType().trim().equalsIgnoreCase("socks")) {
            System.setProperty("socksProxyHost", proxy.getHost());
            System.setProperty("socksProxyPort", String.valueOf(proxy.getPort()));
            webclient = new WebClient(BrowserVersion.CHROME);
        }
        webclient.getCredentialsProvider().setCredentials(AuthScope.ANY, new NTCredentials(
                proxy.getUsername(), proxy.getPassword(), "", ""));

    } else {
        webclient = new WebClient(BrowserVersion.CHROME);
    }
对象代理是下面定义的代理类的实例:

public class Proxy {
    private String host, username, password,type;
    private int port;


public String getType() {
    return type;
}

public void setType(String type) {
    this.type = type;
}

public Proxy(String host, int port, String username, String password) {
    this.host = host;
    this.port = port;
    this.username = username;
    this.password = password;
}

public void setHost(String host) {
    this.host = host;
}

public String getHost() {
    return this.host;
}

public void setUsername(String username) {
    this.username = username;
}

public String getUsername() {
    return this.username;
}

public void setPassword(String password) {
    this.password = password;
}

public String getPassword() {
    return this.password;
}

public void setPort(int port) {
    this.port = port;
}

public int getPort() {
    return this.port;
}

}

“这不是工作”。。。您是否有错误消息来支持该语句?您是否在尝试时删除了代码中的
System.getproperty(“socksProxy
行”?[回复Stultuske]:没有明显错误…我只是向“ipecho.net/plain”或“icanhazip.com”发送请求并查看我的IP。使用proxychains时它不会更改![回复“Oleg 1”):是。[回答“Oleg”的评论]如果删除这些行,则不会通过任何包发送包。换句话说,无法通过代理链发送包。