HTTP客户端和服务端

httpclient客户端

package com.test;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

public class HttpClient {
	public String client(){
		String result ="";
		try {
			String xmlInfo ="";
			BufferedReader br = null;
			URL url = null;
		    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		    String urlStr = "http://localhost:8081/csp/c_csvc/c_csvcOfmessageRepeaters.action";
		    //http+XML+post方式
		    url = new URL(urlStr); //接口地址
		    //URLConnection con=url.openConnection();   //创建连接
		    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
		    conn.setRequestMethod("POST");
		    conn.setDoOutput(true);
		    conn.addRequestProperty("Content-type",
		            "text/xml; charset=ISO-8859-1");
		    // 默认超时时间30秒
		    conn.setConnectTimeout(30000);
		    OutputStreamWriter out = new OutputStreamWriter(
		            conn.getOutputStream());
		    //输入流,写参数,flush推送参数内容过去给第三方系统
		    out.write(new String(xmlInfo.getBytes("GBK")));
		    out.flush();
		    out.close();
		    
		    br = new BufferedReader(
		            new InputStreamReader(conn.getInputStream())); //获取接口响应信息  
		    String line = "";
		    StringBuffer sb = new StringBuffer();
		    for (line = br.readLine(); line != null; line = br.readLine())
		    {
		        sb.append(line);
		    }
		    
		    result = sb.toString();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}	
}

httpclient服务端

package com.test;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HttpServer extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		super.doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		server2(req);
	}

	public void server1(HttpServletRequest req) throws IOException {
		// 判断请求报文是否来自代维系统的ip地址
		String ip = req.getRemoteHost();
		// 获取收到的报文
		BufferedReader reader = req.getReader();
		String line = "";
		StringBuffer inputString = new StringBuffer();
		while ((line = reader.readLine()) != null) {
			inputString.append(line);
		}
		//开始处理逻辑
	}

	public void server2(HttpServletRequest req) throws IOException {
		// 接收请求转发消息
		BufferedInputStream in = new BufferedInputStream(req.getInputStream());
		byte[] bts = new byte[50000];
		int totalLen = 0, len = 0;
		while ((len = in.read(bts, totalLen, 1000)) != -1) {
			totalLen += len;
		}
		String request = new String(bts).toString().trim();
		//开始处理逻辑
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值