android怎么获取网页数据

发布网友 发布时间:2022-04-20 17:21

我来回答

1个回答

热心网友 时间:2023-07-20 09:08

//第一种
/**获取参数(ArrayList<NameValuePair> nameValuePairs,String url)后post给远程服务器
* 将获得的返回结果(String)返回给调用者
* 本函数适用于查询数量较少的时候
*/
public String posturl(ArrayList<NameValuePair> nameValuePairs,String url){
String result ="";
String tmp="";
InputStream is =null;
try{
HttpClient httpclient =new DefaultHttpClient();
HttpPost httppost =new HttpPost(url);
httppost.setEntity(newUrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
return"Fail to establish http connection!";
}

try{
BufferedReader reader =new BufferedReader(newInputStreamReader(is,"utf-8"));
StringBuilder sb =new StringBuilder();
String line =null;
while((line = reader.readLine()) != null) {
sb.append(line +"\n");
}
is.close();

tmp=sb.toString();
}catch(Exception e){
return"Fail to convert net stream!";
}

try{
JSONArray jArray =new JSONArray(tmp);
for(inti=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
Iterator<?> keys=json_data.keys();
while(keys.hasNext()){
result += json_data.getString(keys.next().toString());
}
}
}catch(JSONException e){
return"The URL you post is wrong!";
}

returnresult;
}

//第二种
/**获取参数指定的网页代码,将其返回给调用者,由调用者对其解析
* 返回String
*/
public String posturl(String url){
InputStream is =null;
String result ="";

try{
HttpClient httpclient =new DefaultHttpClient();
HttpPost httppost =new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
return"Fail to establish http connection!"+e.toString();
}

try{
BufferedReader reader =new BufferedReader(newInputStreamReader(is,"utf-8"));
StringBuilder sb =new StringBuilder();
String line =null;
while((line = reader.readLine()) != null) {
sb.append(line +"\n");
}
is.close();

result=sb.toString();
}catch(Exception e){
return"Fail to convert net stream!";
}

returnresult;
}

//第三种
/**获取指定地址的网页数据
* 返回数据流 www.2cto.com
*/
public InputStream streampost(String remote_addr){
URL infoUrl =null;
InputStream inStream =null;
try{
infoUrl =new URL(remote_addr);
URLConnection connection = infoUrl.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection)connection;
intresponseCode = httpConnection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK){
inStream = httpConnection.getInputStream();
}
}catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
returninStream;
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com