在Android中通过POST方法发送参数
我正在开发一个Android应用程序 下面提到的是链接 “”+var在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();
其中,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发送的参数。看看发生了什么有很多错误…在哪里调用整个函数?