HttpURLConnection使用方法的代码:
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
try{
String urlStr="http://www.workneed.com?t=test"
URL url=new URL(urlStr);
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.setConnectTimeout(10000);
conn.setRequestMethod("GET");
//如果请求成功
if (conn.getResponseCode() == 200){//HttpURLConnection.HTTP_OK=200
InputStream in=conn.getInputStream();
byte[] b=new byte[in.available()];
in.read(b);
String msg=new String(b);
System.out.println(msg);
in.close();
}
conn.disconnect();
}catch(Exception e){
System.out.println("连接服务器出错");
}
以上代码没有问题,编译也会通过,但运行到conn.getResponseCode()语句时会出错。主要原因有两个:
1、没有把代码放在线程里。这是Android的要求,访问网络请放在线程里。
2、配置权限。在AndroidManifest.xml里加上这句:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
切记切记。