在Android中发送POST数据

在Android中发送POST数据,第1张

在Android中发送POST数据

***更新了适用于Android 6.0+的答案

    public class CallAPI extends AsyncTask<String, String, String> {        public CallAPI(){ //set context variables if required        }        @Override        protected void onPreExecute() { super.onPreExecute();        }         @Override         protected String doInBackground(String... params) { String urlString = params[0]; // URL to call String data = params[1]; //data to post OutputStream out = null; try {     URL url = new URL(urlString);     HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();     out = new BufferedOutputStream(urlConnection.getOutputStream());     BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));     writer.write(data);     writer.flush();     writer.close();     out.close();     urlConnection.connect(); } catch (Exception e) {     System.out.println(e.getMessage()); }        }    }

较旧的答案

注意:此解决方案已过时。 它仅适用于最高5.1的Android设备。Android 6.0及更高版本不包含此答案中使用的Apache
http客户端。

Apache Commons的Http Client是必经之路。它已经包含在android中。这是一个简单的示例,说明如何使用HTTP Post。

public void postData() {    // Create a new HttpClient and Post Header    HttpClient httpclient = new DefaultHttpClient();    HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");    try {        // Add your data        List<NamevaluePair> namevaluePairs = new ArrayList<NamevaluePair>(2);        namevaluePairs.add(new BasicNamevaluePair("id", "12345"));        namevaluePairs.add(new BasicNamevaluePair("stringdata", "Hi"));        httppost.setEntity(new UrlEnpredFormEntity(namevaluePairs));        // Execute HTTP Post Request        HttpResponse response = httpclient.execute(httppost);    } catch (ClientProtocolException e) {        // TODO Auto-generated catch block    } catch (IOException e) {        // TODO Auto-generated catch block    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5499151.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存