http 请求数据方法

 

package com.wiiy.jtb.common;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.protocol.HTTP;
import org.json.JSONException;
import org.json.JSONObject;

import android.os.Handler;
import android.os.Message;
import android.util.Log;

public class InternetThread extends Thread {
List<NameValuePair> params = new ArrayList<NameValuePair>();
private String action;
private Handler messageHandler;
private int arg2;
public InternetThread(List<NameValuePair> params, String action,
Handler messageHandler, int arg2) {
this.params = params;
this.action = action;
this.messageHandler = messageHandler;
this.arg2 = arg2;
}
@Override
public void run() {
Message message = Message.obtain();
HttpClient httpClient=new DefaultHttpClient();
HttpPost httpPost=new HttpPost(Param.server+action);
httpPost.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, Param.CONNECTION_TIMEOUT);
if(action.equals("score_calShopRewards.action"))
httpPost.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 40000);
else
httpPost.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, Param.SO_TIMEOUT);

//List<NameValuePair> params = new ArrayList<NameValuePair>();
//params.add(new BasicNameValuePair("companyCode", companyCode));
//params.add(new BasicNameValuePair("shopId", shopId));
//params.add(new BasicNameValuePair("agentId", agentId));
try {
message.arg2=arg2;
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpResponse httpResponse = httpClient.execute(httpPost);
int res = httpResponse.getStatusLine().getStatusCode();
if (res == 200) {
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2.readLine()) {
builder.append(s);
}
// Log.i("jtb", ">>>>>>" + builder.toString());
JSONObject jsonObject = new JSONObject(builder.toString());
message.obj=jsonObject;
message.arg1=1;
}
else{
message.obj="服务异常,与服务器交互失败!";
message.arg1=0;
}
} catch (IOException e) {
e.printStackTrace();
message.obj="无法连接,与服务器交互失败!";
message.arg1=0;

} catch (JSONException e) {
e.printStackTrace();
message.obj="数据包错误,与服务器交互失败!";
message.arg1=0;
}
messageHandler.sendMessage(message);
}
}

 

List<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("companyCode", Param.companyCode));

new InternetThread(param, "applymsg_salesApplyList.action", messageHandler, 1).start();

posted @ 2013-12-12 16:55  xxdc  阅读(478)  评论(0编辑  收藏  举报