1

我有一个关于 Android 上的 DNS 的简单问题。

有什么方法可以仅为我自己的应用程序更改 DNS 服务器吗?

更具体地说,我正在使用 loopj 的 Android AsyncHttp 库(http://loopj.com/android-async-http/)。

查看源代码,我在 setProxy 方法中注意到了这条评论:

/**
     * Sets the Proxy by it's hostname and port
     *
     * @param hostname the hostname (IP or DNS name)
     * @param port     the port number. -1 indicates the scheme default port.
     */
    public void setProxy(String hostname, int port) {
        final HttpHost proxy = new HttpHost(hostname, port);
        final HttpParams httpParams = this.httpClient.getParams();
        httpParams.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
    }

所以我假设将例如“8.8.8.8”和-1作为setProxy的参数我可以达到我的目标,但显然我错了。

建议?

4

1 回答 1

0

我想你误解了 setProxy() 方法,它是用来为你的 HttpClient 设置代理的。

主机名:可以是 IP 地址,即:“192.168.1.100”或 DNS 名称,如“proxy.example.com”。端口:它是您的代理服务器正在侦听的 tcp/udp 端口​​。

至于您更改 DNS 的请求,我认为这是不可能的。

于 2014-03-27T21:38:19.550 回答