HttpURLConnection何时发送的问题
Java code
URL url = new URL("http://www.xxx.com/11.jpg");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(4000);
conn.setRequestMethod("GET");
InputStream is = conn.getInputStream();
我的疑问是,openConnection的时候已经发送连接请求了,那么后面的setConnectTimeout和setRequestMethod应该起不了作用了啊。
------解决方案--------------------
当第一构造URLConnection时,它是未连接的;即本地和远程主机无法收发数据。connect()方法在本地和远程主机之间建立一个连接。不过,getInputStream()、getContent()、getHeaderField()和其他要求先将连接打开的方法,都会在连接未打开时(自行)调用connect()。
所以url.openConnection时并没有建立真正的连接