android http get請求中的亂碼問題

解決方案:

數據組串:

    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();	
	}




   


發佈了50 篇原創文章 · 獲贊 21 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章