在项目中使用,这简化和通用汽车。突出的基本思路,细节可以基于此类改变。

基于java容器和servlet。

package com.xxx.first;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.compress.utils.IOUtils; public class SimpleProxy { /**
* 使用GET提交到目标server。
*
* @param request
* @param response
* @param targetUrl
* @throws IOException
*/
private void get(HttpServletRequest request, HttpServletResponse response,
String targetUrl) throws IOException { URL url = new URL(targetUrl); BufferedReader in = new BufferedReader(new InputStreamReader(
url.openStream())); String line;
PrintWriter out = response.getWriter();
while ((line = in.readLine()) != null) {
out.println(line);
}
out.flush();
in.close();
} /**
* 使用POST提交到目标server。
*
* @param request
* @param response
* @param targetUrl
* @throws IOException
*/
private void post(HttpServletRequest request, HttpServletResponse response,
String targetUrl) throws IOException {
URL url = new URL(targetUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 发送POST请求必须设置例如以下两行
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");
// 能够拷贝client的head信息作为请求的head參数
// conn.setRequestProperty("Charsert", "UTF-8");
conn.setRequestProperty("Content-Type", "application/json"); // 直接把client的BODY传给目标server
OutputStream send = conn.getOutputStream();
InputStream body = request.getInputStream();
IOUtils.copy(body, send);
send.flush();
send.close();
body.close(); // 获取返回值
BufferedReader in = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
PrintWriter out = response.getWriter();
String line;
while ((line = in.readLine()) != null) {
out.println(line);
}
out.flush();
} }

最新文章

  1. mac下查看.mobileprovision文件及钥匙串中证书.cer文件
  2. iOS10 拍照崩溃问题
  3. H:Highways
  4. 一步一步教你elasticsearch在windows下的安装
  5. 浅谈ERP系统实施后如何完善企业内部控制制度建设
  6. onethink 系统函数中 生成随机加密key
  7. Swing-setAlignmentX()用法-入门
  8. Elasticsearch笔记八之脑裂
  9. Centos7 Nginx开机启动
  10. Python如何将整数转化成二进制字符串
  11. Java获取项目根目录等其他系统属性
  12. blogger添加代码高亮
  13. 搭建高可用的Redis服务,需要注意这些方面!
  14. oracle  的sqlplus 工具进行翻译的rlwrap 安装教程
  15. ie请求缓存问题,页面内容没有及时更新
  16. [转]JavaScript与元素间的抛物线轨迹运动
  17. 【SP1812】LCS2 - Longest Common Substring II
  18. [转]如何取得当前正在执行的shell脚本的绝对路径?
  19. ubuntu16.04下安装pycharm
  20. 基于非比較的排序:计数排序(countSort),桶排序(bucketSort),基数排序(radixSort)

热门文章

  1. IOS --- 日期时间格式 更改
  2. sql function递归
  3. RH033读书笔记(3)-Lab 4 Browsing the Filesystem
  4. 【UVA272】TEX Quotes
  5. 21个js 技巧收藏
  6. 使用order by和rownum时特别注意
  7. [LeetCode119]Pascal's Triangle II
  8. 站点系统压力測试Jmeter+Badboy
  9. Android - 支持不同的设备 - 支持不同的屏幕
  10. WP8.1开发者预览版本号已知 Bug