解决方案:
数据组串:
public void httpConfirmRequest(JSONObject parkinfo,String sessionID){
String httpUrl="http://xxx.xxx.x.xxx/metered/metered/index.php";
String strVideoURL = "";
String params = "";
String str_parkinfo = parkinfo.toString();
try {
strVideoURL = URLEncoder.encode(str_parkinfo, "utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// System.out.printf("httpRequest:%s\r\n",strVideoURL);
params = String.format("app=parking&type=end&maction=update&park_no=%s&session_id=%s¶ms=%s&uuid=%s",
this.meteredNo,
sessionID,
strVideoURL,//str_parkinfo,
Settings.Secure.getString(ctx.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID));
// System.out.printf("params:%s\r\n", params);
String getUrl = String.format("%s?%s",httpUrl,params);
System.out.printf("httpConfirmRequest httpurl:%s\r\n",getUrl);
httpsRequest(getUrl);
}
发送http get请求:开一个单独的线程来执行http请求
public void httpsRequest(final String httpUrl) {
Runnable run = new Runnable(){
@Override
public void run() {
//HttpPost httppost = new HttpPost(httpUrl);
System.out.printf("httpsRequest httpurl:%s\r\n",httpUrl);
HttpGet httpGet = new HttpGet(httpUrl);
try {
//HttpClient httpclient = new DefaultHttpClient();
//HttpEntity httpentity = new UrlEncodedFormEntity(params, HTTP.UTF_8);
//httppost.setEntity(new UrlEncodedFormEntity(params));
//HttpResponse httpResponse = httpclient.execute(httppost);
//HttpResponse httpResponse = httpclient.execute(httpGet);
/*发送请求并等待响应*/
HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String strResult = EntityUtils.toString(httpResponse.getEntity());
System.out.println("httprequest success ! return = "+strResult);
} else {
System.out.println("httprequest fail ! ");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
};
Thread thread = new Thread(run);
thread.setDaemon(true);
thread.start();
}