1
public static Bitmap getImage(String address) throws Exception {

    Bitmap imgmap = null;
    InputStream is = null;

    URL url = new URL(address);

    HttpURLConnection  conn = (HttpURLConnection)url.openConnection();
    try {
        conn.setRequestMethod("GET"); >>> here was been excuted,but go to finally block
        conn.setConnectTimeout(5000); 
        is = conn.getInputStream();
        byte[] imgbytes = StreamTool.getBytes(is);
        imgmap = BitmapFactory.decodeByteArray(imgbytes, 0, imgbytes.length);

    } finally {
        if (is != null) {
            is.close();
        }
        if (conn != null) {
            conn.disconnect();
        }
    }

    return imgmap;
}

之前conn.setRequestMethod("GET")被执行,throws 异常连接已经建立。谁能给我一个解决方案

4

5 回答 5

7

我知道这完全是胡说八道。但是当我在这条线上放置断点时,它会在调试模式下发生。

con.setRequestMethod()

一旦我删除断点,错误就消失了!

于 2015-02-12T18:28:14.153 回答
0

当您创建 HttpURLConnection 的实例时,它默认为请求方法GET,因此在此实例中无需调用 setRequestMethod。

这个链接包含一些关于 HTTP 连接以及如何使用它们的奇妙细节。

于 2014-11-16T09:20:27.100 回答
0

发生这种情况是因为您在设置请求方法之前进行了连接

一个建议你试试这个:

conn.setRequestMethod("GET");
conn.connect);
conn.setConnectTimeout(5000); 
is = conn.getInputStream();
byte[] imgbytes = StreamTool.getBytes(is);
于 2015-06-28T23:02:43.717 回答
0

经历相同,发现IDE正在监视我添加到调试的连接字段,然后在其他代码运行之前建立连接,例如设置属性。

因此,如果您想在调试期间连接准备好之前获得一些“属性”,您将收到此错误

于 2017-02-24T07:04:08.940 回答
-3

那是因为setRequestMethod()必须在建立连接之前调用该函数。检查此链接

http://developer.android.com/reference/java/net/HttpURLConnection.html#setRequestMethod(java.lang.String)

所以最好在 openConnection() 之前调用它。或者根本不调用它。

于 2013-11-04T11:15:16.250 回答