使用java模拟向web服务器发送get和post请求

原创 2014年04月17日 17:08:25
新手试试水,写的不好的地方还望各位大神指教。


package com.weixin.base.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;


/**
 * 实现http连接
 * 
 * @author dong
 * 
 */
public class HttpImpl implements Http {
	/* (non-Javadoc)
	 * @see com.weixin.base.util.HttpAPI#sendGet(java.lang.String)
	 */
	@Override
	public String sendGet(String requestUrl) {
		StringBuffer buffer = new StringBuffer();
		try {
			URL url = new URL(requestUrl);
			
			//获得资源输入流
			InputStream inputStream = url.openStream();
			
			// 将返回的输入流转换成字符串
			InputStreamReader inputStreamReader = new InputStreamReader(
					inputStream, "utf-8");
			BufferedReader bufferedReader = new BufferedReader(
					inputStreamReader);

			String str = null;
			while ((str = bufferedReader.readLine()) != null) {
				buffer.append(str);
			}
			bufferedReader.close();
			inputStreamReader.close();
			// 释放资源
			inputStream.close();
			inputStream = null;
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return buffer.toString();
	}

	/* (non-Javadoc)
	 * @see com.weixin.base.util.HttpAPI#sendPost(java.lang.String, java.lang.String)
	 */
	@Override
	public String sendPost(String requestUrl, String outputStr) {
		StringBuffer buffer = new StringBuffer();

		try {
			URL url = new URL(requestUrl);
			URLConnection httpUrlConn = url.openConnection();
			//
			httpUrlConn.setDoOutput(true);
			httpUrlConn.setDoInput(true);
			
			OutputStream outputStream = httpUrlConn.getOutputStream();
			// 当有数据需要提交时
			if (null != outputStr) {
				// 注意编码格式,防止中文乱码
				outputStream.write(outputStr.getBytes("UTF-8"));	
			}
			outputStream.close();

			// 将返回的输入流转换成字符串
			InputStream inputStream = httpUrlConn.getInputStream();
			InputStreamReader inputStreamReader = new InputStreamReader(
					inputStream, "utf-8");
			BufferedReader bufferedReader = new BufferedReader(
					inputStreamReader);

			String str = null;
			while ((str = bufferedReader.readLine()) != null) {
				buffer.append(str);
			}
			bufferedReader.close();
			inputStreamReader.close();
			// 释放资源
			inputStream.close();
			inputStream = null;
			// httpUrlConn.;
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return buffer.toString();
	}

	public static void main(String[] args) {

	}
}




                    

相关文章推荐

Java模拟Web登陆(Post模式)

2013-03-21 16:08:23|  分类: JAVA日常问题 |  标签:登录  java  post   |举报|字号 订阅 // 连接地址(通过阅读html源代码获得,即为登陆表单提交的...
  • a527603
  • a527603
  • 2014年08月11日 11:55
  • 497

使用HttpURLConnection向服务器发送post和get请求

HttpConnection的请求方式主要有两种,get和post,post请求和get请求的最大不同就是提交请求信息的方式,post是通过把请求信息封装在http请求头中发送出去的,get请求是把请...

使用HttpURLConnection向服务器发送post和get请求

一、使用HttpURLConnection向服务器发送get请求 1、向服务器发送get请求 @Test publicvoid sendSms() throws Excep...

Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)

版权声明:本文为博主原创文章,未经博主允许不得转载。转载注明出处:Sunzxyong 讲这个之前,我们先来说说get和post两种请求的区别吧!!! 1. GET提交的数据会放在URL...

Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)

讲这个之前,我们先来说说get和post两种请求的区别吧!!! 原文:http://blog.csdn.net/u010687392/article/details/43672317 1....

HttpURLConnection 向服务器发送post和get请求 并接收响应

HttpURLConnection 向服务器发送post和get请求 并接收响应

通过HttpWebRequest分别向服务器发送GET或POST请求

10. 通过HttpWebRequest分别向服务器发送GET或POST请求2009-09-17 16:52:45|  分类: 知识代码库 |  标签: |字号大中小 订阅 1.建立一个控制台应用程序...

用jquery向服务器发送请求get&post

本文主要介绍通过jquery利用内置的ajax向服务器发送get和post请求,简洁而且有效,本人已经测试通过 一.介绍get方法,代码如下 $(document).ready(fu...

android 向服务器Get和Post请求的两种方式,android向服务器发送文件,自己组装协议和借助第三方开源

android 向服务器Get和Post请求的两种方式,android向服务器发送文件,自己组装协议和借助第三方开源...
  • intbird
  • intbird
  • 2014年08月01日 16:27
  • 1782

Android向Web服务器发送Post请求并返回数据

1.android 向web服务器发送post请求并获取结果,因为 需要访问到网络必须要有权限,先在AndroidManifest.xml中加入如下配置: 2.发送post请求并获取结果的ac...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用java模拟向web服务器发送get和post请求
举报原因:
原因补充:

(最多只允许输入30个字)