在Android中通过POST方法发送参数

在Android中通过POST方法发送参数,android,post,http-post,Android,Post,Http Post,我正在开发一个Android应用程序 下面提到的是链接 “”+var 其中,var是一个变量,结果来自该变量。我想将var中可用的数据与链接一起发布。我是android新手,所以我想知道如何在android应用程序中使用POST方法。你应该这样做: public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient();

我正在开发一个Android应用程序

下面提到的是链接

“”+var


其中,var是一个变量,结果来自该变量。我想将var中可用的数据与链接一起发布。我是android新手,所以我想知道如何在android应用程序中使用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 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自动生成的捕捉块 } }
您可以使用Android Volley Library将数据发布到php脚本中

//Declare the URL you want to send  
public static String YOUR_URL = "http://example.com.in/ai/abc?var=";

private void postDataToServer() {
    //volley request

                                                     //here you can choose your method,GET/POST,in this case is Post
    JsonObjectRequest jsonReq = new JsonObjectRequest(Request.Method.POST,
            YOUR_URL , null, new Response.Listener<JSONObject>() {

        @Override
        public void onResponse(JSONObject response) {
            //if send data success do something here
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            //if having error to make request to server do something here
        }
    }) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            //send your parameter here

            Map<String, String> parameters = new HashMap<>();
            parameters.put("yourVariable", "var");


            return parameters;
        }

        //adding header to authenticate
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {

            Map<String,String> headers = new HashMap<>();
            headers.put("Content-Type", "application/json");
            return  headers;
        }
    };

    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(jsonReq);

}
//声明要发送的URL
公共静态字符串\u URL=”http://example.com.in/ai/abc?var=";
私有void postDataToServer(){
//截击请求
//在这里,您可以选择方法GET/POST,在本例中是POST
JsonObjectRequest jsonReq=新的JsonObjectRequest(Request.Method.POST,
您的URL,null,新响应。侦听器(){
@凌驾
公共void onResponse(JSONObject响应){
//如果发送数据成功,请在此处执行操作
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
//如果向服务器发出请求时出错,请在此处执行操作
}
}) {
@凌驾
受保护的映射getParams()引发AuthFailureError{
//将您的参数发送到此处
映射参数=新的HashMap();
参数。put(“变量”、“var”);
返回参数;
}
//添加头以进行身份验证
@凌驾
公共映射getHeaders()引发AuthFailureError{
Map headers=newhashmap();
headers.put(“内容类型”、“应用程序/json”);
返回标题;
}
};
RequestQueue RequestQueue=Volley.newRequestQueue(this);
add(jsonReq);
}

您可以查看如何从Android发布数据,并在php脚本中获取数据。

HttpPost-HttpPost=new-HttpPost(“);。该链接基于.net而不是php。那么它将如何工作?我应该这样写吗?[link][link]和nameValuePairs.add(new-BasicNameValuePair(“var”,“12345”));是一个例子,您可以使用您自己的URL。因为它是.NET,所以我应该这样写?new HttpPost(“example.com.in/ai/abc.var.aspx”);和nameValuePairs.add(new BasicNameValuePair(“var”,“12345”);您只需使用new HttpPost(“example.com.in/ai/abc”);它会工作的。试试看。bro这个Java。.Android截击库我给你一个有用的链接,第一次到达这个截击不会关心你使用什么服务器端代码,它会把它应该传递给你的服务器.NET脚本。当然。.试试看。让我知道它是否工作。记得在你的.NET脚本中获取你从Android发送的参数。看看发生了什么有很多错误…在哪里调用整个函数?