使用HttpURLConnection获取GET请求的时候出现了java.io.FileNotFoundException异常

当然URL是可以正常访问的,另外换成POS请求也是正常的。

后来查看了源代码,发现问题出在

conn.setDoOutput(true)

这句代码上,如果把这句代码注释掉或者修改为false即可。

原来

conn.setDoOutput(true);

以后就可以使用

conn.getOutputStream().write();

conn.setDoInput(true);

以后就可以使用

conn.getInputStream().read(); 

get请求用不到conn.getOutputStream(),因为参数直接追加在地址后面,因此默认是false。

而post请求(比如:文件上传)需要往服务区传输大量的数据,这些数据是放在http的body里面的,因此需要在建立连接以后,往服务端写数据。  因为总是使用conn.getInputStream()获取服务端的响应,因此默认值是true。