Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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
Java 将HttpClient 4.1请求绑定到本地地址_Java_Sockets_Httpclient - Fatal编程技术网

Java 将HttpClient 4.1请求绑定到本地地址

Java 将HttpClient 4.1请求绑定到本地地址,java,sockets,httpclient,Java,Sockets,Httpclient,通过特定本地地址绑定HttpClient请求时出错 这是密码 HttpParams httpsParams = new BasicHttpParams(); ConnRouteParams.setLocalAddress(httpsParams, InetAddress.getByAddress(new byte[]{ (byte)192, (byte)168, (byte)43, (byte)98 })); DefaultHttpClient httpClient =

通过特定本地地址绑定HttpClient请求时出错

这是密码

    HttpParams httpsParams = new BasicHttpParams();
    ConnRouteParams.setLocalAddress(httpsParams, InetAddress.getByAddress(new byte[]{ (byte)192, (byte)168, (byte)43, (byte)98 }));

    DefaultHttpClient httpClient = new DefaultHttpClient(httpsParams);

    URL url = new URL("http://what-is-my-ip.net/?json");

    HttpGet method = new HttpGet(url.toURI());

    HttpResponse response = httpClient.execute(method);
    InputStream is = response.getEntity().getContent();

    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    byte[] buffer = new byte[1024];
    int nbRead;
    while ((nbRead = is.read(buffer)) != -1) {
        bos.write(buffer, 0, nbRead);
    }

    is.close();

    System.out.println(new String(bos.toByteArray()));
这就是错误所在

Oct 26, 2012 10:48:57 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (java.net.SocketException) caught when connecting to the target host: Network is unreachable: connect
Oct 26, 2012 10:48:57 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
Oct 26, 2012 10:48:57 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (java.net.SocketException) caught when connecting to the target host: Network is unreachable: connect
Oct 26, 2012 10:48:57 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
Oct 26, 2012 10:48:57 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (java.net.SocketException) caught when connecting to the target host: Network is unreachable: connect
Oct 26, 2012 10:48:57 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
Exception in thread "main" java.net.SocketException: Network is unreachable: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
    at utils.NewClass.main(NewClass.java:49)
我做错什么了吗? 请帮忙,我在谷歌上搜索了很多,但没有找到这方面的任何信息

这是一个操作系统相关的问题吗,我在win7上


任何帮助都将不胜感激。

Sry,但无法对问题发表评论,因此我将尝试回答: 在192.168.43.98接口中,99%的可能性出现问题,检查他是否工作正常

PS:你可以通过卷曲来测试它:
curl--接口“192.168.43.98”

$curl--接口“192.168.43.98”curl:(7)无法连接到主机当192.168.43.98接口关闭时,它显示curl:(45)绑定失败,错误号为125:无法分配请求的地址,因此问题出在适配器或网络中,接口为192.168.43.98。这似乎是操作系统级别的问题,我尝试绑定一个类似于这个新套接字的套接字(InetAddress.getByName(“www.google.co.in”),80,localAddress,0);它还导致了java.net.SocketException:网络不可访问:连接,可能有什么问题,在禁用其他接口的情况下单独测试接口时,代码工作正常,我是否需要在操作系统级别更改某些内容以使套接字绑定正常工作。