2014-06-25 97 views
1

我想發送一個httpPOST請求到一些url.This是我的代碼。 我使用異步工作方法,我在網上httpPost不工作​​android

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    new MyHttpPost().execute(); 

} 
private class MyHttpPost extends AsyncTask<String, Void, Boolean> { 


     @Override 
    protected Boolean doInBackground(String... arg0) 
    { 

    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://someurl"); 

      try { 
      // Add your data 
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair(4); 
      nameValuePairs.add(new BasicNameValuePair("User", "abcd")); 
      nameValuePairs.add(new BasicNameValuePair("email", "1234")); 
      nameValuePairs.add(new BasicNameValuePair("password", "abcd")); 
      nameValuePairs.add(new BasicNameValuePair("username", "1234")); 
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

      // Execute HTTP Post Request 
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity httpEntity = response.getEntity(); 
      result = httpEntity.getContent(); 


      } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      } catch (IOException e) { 
      // TODO Auto-generated catch block 
      } 
      return true; 
    } 

    } 



} 

發現我也宣佈在清單

uses-permission android:name="android.permission.INTERNET" 
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" 

但是執行應用我的服務器數據庫isin't表現出任何之後的網絡權限命中。 即使我將列表添加到我要添加數據的列表中,即使是空白的httpPost,也沒有任何匹配。 請Help.Urgent.All答案讚賞。 謝謝

+0

什麼是響應消息?你從服務器獲得什麼? –

+0

在你的代碼中,你用自己的url代替了「http:// someurl」嗎? –

+0

ya.I've使用了正確的php腳本url。 @Damien R. 請看看。我已經編輯了問題再次回覆 – kushal

回答

0

嘗試使用標準參數創建DefaultHTTPClient。

HttpParams params = new BasicHttpParams(); 
params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, 
     HttpVersion.HTTP_1_1); 
HttpClient httpClient = new DefaultHttpClient(params); 

這對我來說工作得很好。

此外,我設置與UTF-8編碼的請求實體:

httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "utf-8")); 
+0

謝謝你......終於解決了 – kushal