您的位置:首页 > 理论基础 > 计算机网络

从网络获取数据的几种方法

2015-10-15 15:00 621 查看
从网络上请求数据的几种方法
一、HttpHttpClient:

GET()请求:

1、// 创建一个默认的HttpClient
HttpClient client= new DefaultHttpClient();
client.getParams().setParameter(

CoreConnectionPNames.CONNECTION_TIMEOUT, 2000);// 连接时间

client.getParams().setParameter(

CoreConnectionPNames.SO_TIMEOUT, 2000);// 数据传输时间
2、//创建一个HttpGet请求
HttpGet get= new HttpGet("接口");
注意:接口必须完整,例如http://zuowen.api.juhe.cn/zuowen/typeList?key=cbd1daab865bf46c4772a7bc0eb63cce&id=1
3、//客户端使用GET方式执行请教,获得服务器端的回应response
HttpResponse response =client.execute(get);
4、//判断请求是否成功
if (response.getStatusLine().getStatusCode() == 200) {

// 获得输入流
InputStreamstream = response.getEntity().getContent();
//GSON解析数据
。。。。。。
}

POST()请求:

1、// 创建一个默认的HttpClient
HttpClient client= new DefaultHttpClient();
2、//创建一个HttpGet请求
HttpPost post= new HttpPost ("接口");
接口实例:http://v.juhe.cn/cell/get?mnc=0&cell=28655&lac=17695
3、创建泛型为NameValuePair的集合
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(newBasicNameValuePair("key",

"1e1c029cc62bcbfb65934ddcc91b4b7c"));
UrlEncodedFormEntity formEntity =
new UrlEncodedFormEntity(
list);
4、//得到UrlEncodedFormEntity对象
post.setEntity(formEntity);
5、//客户端使用POST方式执行请教,获得服务器端的回应response
HttpResponse response = client.execute(post);
4、//判断请求是否成功
if (response.getStatusLine().getStatusCode() == 200) {

// 获得输入流
InputStreamstream = response.getEntity().getContent();
//GSON解析数据
。。。。。。
}

二、HttpURLConnection
GET()请求:
1、 创建URL对象
URL url = new URL("http://zuowen.api.juhe.cn/zuowen/typeList?key=cbd1daab865bf46c4772a7bc0eb63cce&id=1");
注意:接口完整
2、
// 利用HttpClientConnection对象从网络中获取网页数据
HttpURLConnectionurlConnection = (HttpURLConnection) url
.openConnection();

urlConnection.setRequestMethod("GET");//设置使用GET请求方式
urlConnection.setRequestProperty("Charset","UTF-8");//设置编码方式
urlConnection.setRequestProperty("Connection","Keep-Alive");//设置长时间连接
urlConnection.setConnectTimeout(5000);//设置连接超时
urlConnection.setReadTimeout(5000);//读取超时
3、//对响应码进行判断
if (urlConnection.getResponseCode() == 200) {

// 得到网络返回的输入流
InputStream is =urlConnection.getInputStream();
//GSON解析数据
。。。。。。
}
POST()请求:
2、 创建URL对象
URL url = new URL("http://zuowen.api.juhe.cn/zuowen/typeList");
注意:接口写法
2、//利用HttpClientConnection对象从网络中获取网页数据
HttpURLConnectionurlConnection = (HttpURLConnection) url
.openConnection();

urlConnection.setRequestMethod("POST");//设置使用GET请求方式
urlConnection.setDoOutput(true); // 允许输出

urlConnection.setRequestProperty("Charset","UTF-8");//设置编码方式
urlConnection.setRequestProperty("Connection","Keep-Alive");//设置长时间连接
urlConnection.setConnectTimeout(5000);//设置连接超时
urlConnection.setReadTimeout(5000);//读取超时
3、得到输出流
OutputStreamstream = urlConnection.getOutputStream();

PrintWriter writer =
new
PrintWriter(stream);
writer.print("key=cbd1daab865bf46c4772a7bc0eb63cce&id=1");
writer.flush();
writer.close();
4、//对响应码进行判断
if (urlConnection.getResponseCode() == 200) {

// 得到网络返回的输入流
InputStream is =urlConnection.getInputStream();
//GSON解析数据
。。。。。。
}
三、URL
URL url = new URL(http://zuowen.api.juhe.cn/zuowen/typeList?key=cbd1daab865bf46c4772a7bc0eb63cce&id=1);
InputStream stream = url.openStream();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: