开发者

How do I fix this UnknownHostException?

p开发者_JS百科ublic static final String readURL(String url)throws Throwable
{
        try {
            InputStream in = (InputStream) fetch(url);
            byte[] bArr = readBytes(in);
            return new String(bArr);
        } catch (Throwable e) {
            throw e;
            }
}


public static final Object fetch(String address) throws MalformedURLException,IOException {
    URL url = new URL(address);
    Object content = url.getContent();
    return content;
}

I am behind a proxy and when I try

readURL("http://abc.com")

to access URL http://abc.com it throws java.net.UnknownHostException: I have:

<uses-permission android:name="android.permission.INTERNET" /> 

in manifest file.

Any quick solutions?


Proxy proxy = new Proxy(Proxy.DIRECT,
    new InetSocketAddress(proxyHost, proxyPort));
url.openConnection(proxy);

or

System.setProperty("http.proxyHost", "my.proxyhost.com");
System.setProperty("http.proxyPort", "1234");


If you are running your app on Emulator then do the following-

1)Close all running emulator.

2)Clean your project and Close Eclipse.

3)Start the eclipse again.

4)Create new emulator and run your project.

Thats it! worked for me!!!


It is possible that fetch does not do the necessary DNS lookups. If you nslookup abc.com you get a redirect to www.go.com. This may be the problem.


Try using this, if you are behind the proxy and firewall. The reason is your IE and FF is enabled with proxy setting but emulator is not yet configured.

  1. adb shell

  2. sqlite3 /data/data/com.google.android.providers.settings/databases/settings.db

  3. sqlite> INSERT INTO system VALUES(99,’http_proxy', 'proxy:port');
  4. sqlite> SELECT * FROM system;

You should be able to see the last inserted value at bottom of your table.

Browse thro this link : Proxy which requires authentication with Android Emulator

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜