通过HttpURLConnection模拟post表单提交
2014-09-11 22:21
363 查看
http://www.cnblogs.com/linjiqin/archive/2012/02/16/2353597.html
封装后的代码:
通过HttpURLConnection模拟post表单提交
package junit; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import org.junit.Test; import com.hrtx.util.StreamTool; public class EsmTest { /** * 通过HttpURLConnection模拟post表单提交 * @throws Exception */ @Test public void sendEms() throws Exception { String wen = "MS2201828"; String btnSearch = "EMS快递查询"; URL url = new URL("http://www.kd185.com/ems.php"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST");// 提交模式 // conn.setConnectTimeout(10000);//连接超时 单位毫秒 // conn.setReadTimeout(2000);//读取超时 单位毫秒 conn.setDoOutput(true);// 是否输入参数 StringBuffer params = new StringBuffer(); // 表单参数与get形式一样 params.append("wen").append("=").append(wen).append("&") .append("btnSearch").append("=").append(btnSearch); byte[] bypes = params.toString().getBytes(); conn.getOutputStream().write(bypes);// 输入参数 InputStream inStream=conn.getInputStream(); System.out.println(new String(StreamTool.readInputStream(inStream), "gbk")); } }
封装后的代码:
/** * 通过HttpURLConnection模拟post表单提交 * * @param path * @param params 例如"name=zhangsan&age=21" * @return * @throws Exception */ public static byte[] sendPostRequestByForm(String path, String params) throws Exception{ URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST");// 提交模式 // conn.setConnectTimeout(10000);//连接超时 单位毫秒 // conn.setReadTimeout(2000);//读取超时 单位毫秒 conn.setDoOutput(true);// 是否输入参数 byte[] bypes = params.toString().getBytes(); conn.getOutputStream().write(bypes);// 输入参数 InputStream inStream=conn.getInputStream(); return StreamTool.readInputStream(inStream); }
package com.hrtx.util; import java.io.ByteArrayOutputStream; import java.io.InputStream; public class StreamTool { /** * 从输入流中读取数据 * @param inStream * @return * @throws Exception */ public static byte[] readInputStream(InputStream inStream) throws Exception{ ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while( (len = inStream.read(buffer)) !=-1 ){ outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray();//网页的二进制数据 outStream.close(); inStream.close(); return data; } }
相关文章推荐
- 通过HttpURLConnection模拟post表单提交
- IT忍者神龟之通过HttpURLConnection模拟post表单提交
- 通过HttpURLConnection模拟post表单提交
- 通过HttpURLConnection模拟post表单提交
- 通过HttpURLConnection模拟post表单提交
- Adnroid 通过HttpURLConnection模拟post表单提交
- 通过HttpURLConnection模拟post表单提交
- httpurlconnection模拟post提交form表单(普通文本和上传文件) (
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- HttpUrlConnection 实现模拟POST表单传输
- 使用HttpURLConnection通过POST方式提交请求数据,并上传文件
- java用HttpURLConnection模拟post提交数据
- PHP通过php_dio扩展控制SIM800 GPRS模块模拟HTTP POST提交表单
- HttpURLConnection模拟form表单提交文件
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据
- Android模拟表单提交文字和图片(HttpClient AND HttpURLConnection)
- Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据