我正在尝试向某个网址发送httpPOST请求。这是我的代码。我正在网上找到ASync Task方法
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"
但是,在执行该应用程序之后,我的服务器数据库没有显示任何点击。即使我注释掉要添加数据的列表,即使对于空白的httpPost,也完全没有命中。请Help.Urgent.All答案表示赞赏。谢谢你
尝试使用标准参数创建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"));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句