`
yangsongjing
  • 浏览: 249117 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Post提交

 
阅读更多

1.java 和 android 的提交方式都是一样的。

客户端的提交如下

HttpRequest.java---------------->

package com.unam.phonegap.plugin;

import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

public class HttpRequest {


public static boolean sendXML(String path, String xml)throws Exception{
byte[] data = xml.getBytes();
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5 * 1000);
conn.setDoOutput(true);//如果通过post提交数据,必须设置允许对外输出数据
conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8");
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
OutputStream outStream = conn.getOutputStream();
outStream.write(data);
outStream.flush();
outStream.close();
if(conn.getResponseCode()==200){
return true;
}
return false;
}

public static boolean sendGetRequest(String path, Map<String, String> params, String enc) throws Exception{
StringBuilder sb = new StringBuilder(path);
sb.append('?');
// ?method=save&title=435435435&timelength=89&
for(Map.Entry<String, String> entry : params.entrySet()){
sb.append(entry.getKey()).append('=')
.append(URLEncoder.encode(entry.getValue(), enc)).append('&');
}
sb.deleteCharAt(sb.length()-1);

URL url = new URL(sb.toString());
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
if(conn.getResponseCode()==200){
return true;
}
return false;
}

public static boolean sendPostRequest(String path, Map<String, String> params, String enc) throws Exception{
System.out.println("sendPostRequest");
StringBuilder sb = new StringBuilder();
if(params!=null && !params.isEmpty()){
for(Map.Entry<String, String> entry : params.entrySet()){
sb.append(entry.getKey()).append('=')
.append(URLEncoder.encode(entry.getValue(), enc)).append('&');
}
sb.deleteCharAt(sb.length()-1);
}
byte[] entitydata = sb.toString().getBytes();//得到实体的二进制数据
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5 * 1000);
conn.setDoOutput(true);//如果通过post提交数据,必须设置允许对外输出数据
//Content-Type: application/x-www-form-urlencoded
//Content-Length: 38
//TODO: 怎么获取type
conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
conn.setRequestProperty("Content-Length", String.valueOf(entitydata.length));
OutputStream outStream = conn.getOutputStream();
outStream.write(entitydata);
outStream.flush();
outStream.close();
if(conn.getResponseCode()==200){
System.out.println("success");
return true;
}
System.out.println(conn.getResponseCode());
System.out.println("false");
return false;
}

//SSL HTTPS Cookie
public static boolean sendRequestFromHttpClient(String path, Map<String, String> params, String enc) throws Exception{
List<NameValuePair> paramPairs = new ArrayList<NameValuePair>();
if(params!=null && !params.isEmpty()){
for(Map.Entry<String, String> entry : params.entrySet()){
paramPairs.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
}
UrlEncodedFormEntity entitydata = new UrlEncodedFormEntity(paramPairs, enc);//得到经过编码过后的实体数据
HttpPost post = new HttpPost(path); //form
post.setEntity(entitydata);
DefaultHttpClient client = new DefaultHttpClient(); //浏览器
HttpResponse response = client.execute(post);//执行请求
if(response.getStatusLine().getStatusCode()==200){
return true;
}
return false;
}
}

 

客户端提交:

Map<String,String> params= new HashMap<String,String>();
params.put("url", url); //设置参数
HttpRequest.sendPostRequest("这里放提交的地址", params, "utf-8"); //post提交到平台
System.out.println("222");

 

 

服务端的接收:

// String name=request.getParameter("params");
// System.out.println(name); //null

byte[] data=request.getParameter("params").getBytes("ISO-8859-1");
String ysj=new String(data,"utf-8");
System.out.println("params:"+params);

分享到:
评论

相关推荐

    post提交工具增强版

    "POST提交工具增强版"是一款专门用于HTTP/HTTPS协议下的数据提交工具,它在标准的POST提交功能基础上进行了扩展和优化,以满足更高级别的需求。这款工具的主要目的是帮助开发者、测试人员或网络用户便捷地发送POST...

    易语言POST提交例子

    在易语言中,进行POST提交是网络编程中的常见操作,主要用于向服务器发送数据,常用于表单提交、文件上传等场景。本文将详细讲解易语言中如何实现POST提交网页数据。 首先,我们需要了解POST提交的基本概念。在HTTP...

    易语言post提交模块源码

    在易语言中实现POST提交,可以帮助开发者将客户端的数据以POST方式发送到服务器,进而执行相应的业务逻辑。 首先,我们需要理解POST请求的基本原理。POST请求会将数据封装在请求体中,发送到指定的URL。服务器接收...

    易语言post提交示例

    在易语言中,POST提交是网络编程中的一个常见操作,通常用于向服务器发送数据,如表单提交、API接口调用等。下面将详细讲解易语言中如何实现POST提交。 首先,POST提交的核心在于发送HTTP请求,易语言提供了“网络...

    POST提交数据加密

    下面我们将深入探讨POST提交数据加密的原理、方法以及HttpWatch工具的使用。 首先,POST方法是HTTP协议中用于向服务器发送数据的一种方式,通常用于表单提交。为了防止数据在传输过程中被窃取或篡改,我们通常会对...

    自己编写的Post提交工具

    自己写的Post提交工具,用于编写接受post参数的页面调试使用。工具需要.net环境,共编译3个版本,分别为3.5,4.0,4.5。 工具支持选择请求编码,选择响应编码,支持选择请求内容类型,支持上传文件。若服务器返回错误...

    http post提交工具

    该增强版的POST提交工具可能包含以下特性: 1. **请求构建器**:用户可以直观地构建POST请求,包括设置URL、添加请求参数、选择数据类型(如application/json、application/x-www-form-urlencoded等)。 2. **HTTP...

    asp.net网页post提交

    ### ASP.NET网页Post提交详解 在ASP.NET应用开发过程中,数据提交是不可或缺的一部分,而其中最常见的数据提交方式之一就是Post提交。本文将详细介绍ASP.NET网页中的Post提交方式,并通过具体的代码示例来帮助读者...

    post提交测试工具

    本篇文章将深入探讨POST提交测试工具的原理、用途、以及如何使用。 首先,了解POST方法的基本概念是必要的。在HTTP协议中,POST是一种请求方法,允许客户端向服务器发送数据以创建或更新资源。与GET方法不同,POST...

    HTTP Post提交Json与接收返回结果 Winform程序

    例如,你可以创建一个C#对象,然后使用JsonConvert.SerializeObject方法将其转换为JSON字符串,准备进行POST提交。 接下来,让我们探讨如何在Winform程序中实现HTTP POST请求。首先,你需要引入System.Net命名空间...

    关于iframe跨域POST提交的方法示例

    以前在面试的时候经常遇到问关于跨域的事儿,所以自己对跨域有一定的概念性了解,知道什么是跨域以及解决跨域的方法,但是具体实际从来没有操作过,直到最近在公司项目中,遇到了一个需要使iframe跨域进行POST提交的...

    HTTP POST 提交方式

    ### HTTP POST 提交方式详解 #### 一、概述 HTTP POST 是一种常见的HTTP请求方法,主要用于向指定资源提交数据。这种请求方式与GET方法不同,它通常用于客户端向服务器发送数据,例如用户登录时提交用户名和密码。...

    易安卓post提交

    易安卓post提交

    C#中的post提交

    在C#编程中,POST提交是一种常见的数据传输方式,尤其在网络应用中,如网页表单提交、API调用等场景。POST请求允许我们向服务器发送大量数据,甚至包含二进制内容,比如图片或文件。以下是对"C#中的POST提交"这一...

    如何使用post提交网页表单中的数据

    在网页开发中,POST提交是将用户在表单中填写的数据发送到服务器的主要方式之一。相较于GET方法,POST提交通常用于处理敏感信息,因为它可以携带大量数据且在浏览器历史记录中不显示请求详情。本篇文章将详细介绍...

    httppost提交数据VB.rar

    这个“httppost提交数据VB.rar”压缩包包含了一系列的VB模块和表单文件,用于演示如何实现HTTP POST请求。 1. **HTTP POST方法**: - HTTP POST是HTTP协议中的一个方法,用于向服务器发送数据,常用于提交表单、...

    c# post提交接收数据

    在C#编程中,POST提交数据是常见的网络通信方式,特别是在Web应用开发中,比如向服务器发送表单数据、API接口交互等。本教程将详细讲解如何在C#中实现POST请求并接收返回的数据。 首先,理解POST请求的基本概念:...

    php暴力破解 post提交

    简单的基于http。post提交的暴力破解脚本,可破解常见的用户登陆

    javascript模拟post提交隐藏地址栏的参数

    通过js模拟post提交 1:请求需要的参数过长,超过get允许的最大长度 2:想要隐藏地址栏的参数 //新创建一个form表单 [removed]('&lt;form name=myForm&gt;&lt;/form&gt;'); var myForm=document.forms['myForm']; ...

    HttpClient post提交文件加传参的demo

    这个"HttpClient post提交文件加传参的demo"是针对初学者的一个实例,帮助理解如何使用HttpClient来实现这样的功能。在此,我们将详细探讨HttpClient的使用以及如何通过它进行文件上传和参数传递。 首先,你需要...

Global site tag (gtag.js) - Google Analytics