- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在特定端口上设置了 tor,并希望通过该端口访问该网站。以下代码在 Android 7.0 中完美运行,但在 Android 6.0 中出现以下错误。可能是什么问题? Tor 服务在我发送请求的特定端口成功运行。运行此库的示例代码 ( https://github.com/jehy/Tor-Onion-Proxy-Library )
错误
java.net.UnknownHostException: Host is unresolved: google.com W/System.err: at java.net.Socket.connect(Socket.java:893) W/System.err: at cz.msebera.android.httpclient.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74) W/System.err: at com.example.nandan.sampletorproxyapp.MyConnectionSocketFactory.connectSocket(MyConnectionSocketFactory.java:33) W/System.err: at cz.msebera.android.httpclient.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134) W/System.err: at cz.msebera.android.httpclient.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) W/System.err: at cz.msebera.android.httpclient.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) W/System.err: at cz.msebera.android.httpclient.impl.execchain.MainClientExec.execute(MainClientExec.java:236) W/System.err: at cz.msebera.android.httpclient.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) W/System.err: at cz.msebera.android.httpclient.impl.execchain.RetryExec.execute(RetryExec.java:88) W/System.err: at cz.msebera.android.httpclient.impl.execchain.RedirectExec.execute(RedirectExec.java:110) W/System.err: at cz.msebera.android.httpclient.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) W/System.err: at cz.msebera.android.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) W/System.err: at cz.msebera.android.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) W/System.err: at com.example.nandan.sampletorproxyapp.MainActivity$TorTask.doInBackground(MainActivity.java:85) W/System.err: at com.example.nandan.sampletorproxyapp.MainActivity$TorTask.doInBackground(MainActivity.java:60) W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295) W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237) W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) W/System.err: at java.lang.Thread.run(Thread.java:818)
主要 Activity
HttpClient httpClient = getNewHttpClient();
int port = onionProxyManager.getIPv4LocalHostSocksPort();
InetSocketAddress socksaddr = new InetSocketAddress("127.0.0.1", port);
HttpClientContext context = HttpClientContext.create();
context.setAttribute("socks.address", socksaddr);
HttpGet httpGet = new HttpGet("http://google.co.in");
HttpResponse httpResponse = httpClient.execute(httpGet, context); // GETTING ERROR HERE
static class FakeDnsResolver implements DnsResolver {
@Override
public InetAddress[] resolve(String host) throws UnknownHostException {
return new InetAddress[] { InetAddress.getByAddress(new byte[] { 1, 1, 1, 1 }) };
}
}
public HttpClient getNewHttpClient() {
Registry<ConnectionSocketFactory> reg = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", new MyConnectionSocketFactory())
.build();
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(reg,new FakeDnsResolver());
return HttpClients.custom()
.setConnectionManager(cm)
.build();
}
MyConnectionSocketFactory.java
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.Socket;
import cz.msebera.android.httpclient.HttpHost;
import cz.msebera.android.httpclient.conn.socket.PlainConnectionSocketFactory;
import cz.msebera.android.httpclient.protocol.HttpContext;
public class MyConnectionSocketFactory extends PlainConnectionSocketFactory {
@Override
public Socket createSocket(final HttpContext context) {
InetSocketAddress socksaddr = (InetSocketAddress) context.getAttribute("socks.address");
Proxy proxy = new Proxy(Proxy.Type.SOCKS, socksaddr);
return new Socket(proxy);
}
@Override
public Socket connectSocket(
int connectTimeout,
Socket socket,
final HttpHost host,
final InetSocketAddress remoteAddress,
final InetSocketAddress localAddress,
final HttpContext context) throws IOException{
InetSocketAddress unresolvedRemote = InetSocketAddress
.createUnresolved(host.getHostName(), remoteAddress.getPort());
return super.connectSocket(connectTimeout, socket, host, unresolvedRemote, localAddress, context);
}
}
最佳答案
尝试改变
HttpGet httpGet = new HttpGet("http:google.co.in");
到
HttpGet httpGet = new HttpGet("http://google.co.in");
或
URI uri = new URIBuilder()
.setScheme("http")
.setHost("google.co.in")
.build();
HttpGet httpGet = new HttpGet(uri);
已更新 - 试试这个
HttpHost target = new HttpHost("google.co.in", 80, "http");
HttpGet httpGet = new HttpGet("/");
HttpResponse httpResponse = httpClient.execute(target, httpGet, context);
如果它不起作用我不太确定。也许试试这个链接希望这有助于 How to use HttpClientBuilder with Http proxy?
关于android - java.net.UnknownHostException : Host is unresolved SOCKS proxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53273194/
这个问题在这里已经有了答案: InetAddress.getLocalHost() throws UnknownHostException (9 个回答) 关闭 3 年前。 专用 Linux 服务器
我正在尝试在 CentOS 服务器上安装 hadoop。 我正在使用 that tutorial . 我在那条线上停了下来: bin/hadoop namenode –format 12/12/05
我的程序在一段时间内完美运行,但之后出现错误 java.net.UnknownHostException: www.sears.com at java.net.AbstractPlainSocketI
我正在制作一个程序,它从网站读取 html 并从 html 中提取一些内容。当我尝试启动套接字时,出现 UnknownHostException 错误。当我调用 InetAdress 方法时也会发生这
我正在尝试从处理草图发布到网站。 (处理基本上是在一个奇特的环境中运行的Java)。我正在使用这个库:http://libraries.seltar.org/postToWeb/但我不知道这是否有什么
我有一个代码,用于在 ftp 服务器上上传一些 txt。因此,如果我尝试使用此代码,有时有效,有时无效。 我有这个错误: 2015-06-17 20:43:33 DEBUG [LoggerFactor
我正在调用服务器任务,我想捕获所有与网络相关的异常。我收到java.net.ConnectException。我不知道从哪里 throw 和在哪里接住。 服务器类别: public class S
在感兴趣的程序中,在执行 method() 期间可能会发生一些与 HTTP 相关的异常。由于某些原因,该方法被设置为能够抛出 ExpException。我只对特定类型的异常感兴趣,即 UnknownH
我得到一个UnknownHostException(来自lookuphostbyname)。 这样做: result = httpClient.execute(httpGet, responseHan
我收到异常 java.net.UnknowHostException:http://arbitrary-hero.dyndns.org/。我正在尝试使用我制作的 android 客户端应用程序连接到该
我正在尝试从服务器获取数据。有时我的代码会由于 UnknownHostException 而失败。这是为什么?造成这个问题的原因是什么? 最佳答案 如果 DNS 服务器出现故障,则可能会发生这种情况。
我正在尝试从服务器获取数据。有时我的代码会由于 UnknownHostException 而失败。这是为什么?造成这个问题的原因是什么? 最佳答案 如果 DNS 服务器出现故障,则可能会发生这种情况。
我有一个 java 程序,它连接到一个网站以从中检索一些 XML。这在我的计算机以及我们公司以外的其他计算机上运行良好。我们的一位客户现在无法连接到该网站。我发现他们背后有一个代理。我现在已经找到了我
public static final String readURL(String url)throws Throwable { try { InputStre
在德国,我们有时会在域名中使用变异元音 (umlaut)。它是国际化域名 (IDN) 的一部分,例如 tile.öpnvkarte.de。 如果我尝试从那里下载一个 Tile,java 会抛出一个 j
在网络项目中。 我看到了日志: hadoop.hbase.zookeeper.ZKConfig - java.net.UnknownHostException: example.com at java
我是 Hadoop 和 Ubuntu 的新手。我已经为一个项目安装了 hadoop,但 NameNode 有一个异常(exception)。 当我在终端输入以下命令时: hadoop fs -mkdi
我正在尝试从服务器获取数据。有时我的代码会因 UnknownHostException 而失败。这是为什么?这个问题的原因是什么? 最佳答案 如果 DNS 服务器发生故障,则可能会发生这种情况。除了让
我正在使用 jdk1.6.0_23 安装 CSVN,但出现以下 Java 错误: 2011-02-10 16:25:50,951 [WrapperJarAppMain] WARN util.Grail
我正在使用下面的代码连接到一个 url。我在我的办公系统中执行它时收到此错误。但在我的个人笔记本电脑上它正在工作。我认为它必须与代理做一些事情。我有代理详细信息。但是如何在下面的代码中指定它? jav
我是一名优秀的程序员,十分优秀!