如何从Android执行RESTful POST请求
我第一次尝试执行REST Post,但我不知道从哪里开始 我正在和端点进行交互,并试图利用端点:如何从Android执行RESTful POST请求,android,Android,我第一次尝试执行REST Post,但我不知道从哪里开始 我正在和端点进行交互,并试图利用端点:/sites/$site/posts/$post\u ID/repress/new,该端点用于向某个帖子提交新评论 我想我已经很好地掌握了GET请求,因为我已经成功地处理了其中的几个请求。有了这些,我可以说我需要对服务器说的关于URL的所有话,但似乎在POST请求方面还需要另一个步骤。我的问题是:这一步是什么 我是否将要提交的内容包装到JSONObject中并发布?如果是,我该如何发布?我是否需要以某
/sites/$site/posts/$post\u ID/repress/new
,该端点用于向某个帖子提交新评论
我想我已经很好地掌握了GET请求,因为我已经成功地处理了其中的几个请求。有了这些,我可以说我需要对服务器说的关于URL的所有话,但似乎在POST请求方面还需要另一个步骤。我的问题是:这一步是什么
我是否将要提交的内容包装到JSONObject中并发布?如果是,我该如何发布?我是否需要以某种方式构造一条语句,就像我构造一条在数据库上执行的语句一样?或者确实可以通过URL传递我的内容作为请求参数吗
我知道这个问题有点过于开放,但我一直找不到一个好的教程来回答这些问题。如果你知道,请推荐
(我在安卓应用程序中完成了这一切)我的答案是直接从这里看到的另一个答案中提取出来的,但为了方便起见,我删去了这里的答案,希望这能有所帮助 ApacheCommons的Http客户机是一个不错的选择。它已经包含在android中。下面是一个简单的示例,说明如何使用它进行HTTPPOST
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 UrlEncodedFormEntity(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
}
}
public void postData(){
//创建一个新的HttpClient和Post头
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://www.yoursite.com/script.php");
试一试{
//添加您的数据
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“id”,“12345”);
添加(新的BasicNameValuePair(“stringdata”、“Hi”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
//执行HTTP Post请求
HttpResponse response=httpclient.execute(httppost);
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
}捕获(IOE异常){
//TODO自动生成的捕捉块
}
}
您需要在服务器上实现一个脚本,您的帖子将与该脚本交互,并插入该脚本与您的数据库一起工作
典型的情况是:
JavaHTTPPOST~~~>PHP~~~~>MySql
学习PHP的一个很好的起点是在youtube上查看PHPAcademy教程
PHP还将帮助您将结果编码为JSON,并将其发送回您的客户机