- 浏览: 451973 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
JS操作XMLDOM(遍历和打印) -
lliiqiang:
我这边只要出现图表组件就报告2032号错误。
Flex 出现 Error #2032 是什么意思 -
全保生:
感谢!方法一:(已确认 可行)String username ...
jsp 的url传参中文乱码问题解决办法 -
dy804731771:
谢谢您的分享,对我有帮助
兼容的带样式的INPUT -
huang305585796:
火影头像好屌
FusionCharts统计图导出为图片或pdf
<%@ page language="java" pageEncoding="UTF-8"%> <%@ page language="java" import="java.util.*" %> <%@ page language="java" import="java.net.URL" %> <%@ page language="java" import="java.net.HttpURLConnection" %> <%@ page language="java" import="java.nio.charset.Charset" %> <%@ page language="java" import="java.io.*" %> <%@ page language="java" import="javax.servlet.ServletOutputStream" %> <%@ page language="java" import="java.awt.*" %> <%@ page language="java" import="java.awt.image.BufferedImage" %> <%@ page language="java" import="java.awt.image.*" %> <%@ page language="java" import="java.awt.Color" %> <%@ page language="java" import="javax.imageio.ImageIO" %> <%@ page language="java" import="com.sun.image.codec.jpeg.*" %> <% String targetUrl=request.getParameter("url"); String method=request.getParameter("requestmethod"); String content=""; String proxyType = "text";//代理类型[文本代理text,图片代理img] //解码 targetUrl = new String(targetUrl.getBytes("ISO-8859-1"),"UTF-8"); StringBuffer temp=null; HttpURLConnection urlConnection = null; request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); String prjName=request.getContextPath(); //用于转发gb2312格式的串 String proxygb2312="http://"+request.getLocalAddr()+":"+request.getLocalPort()+prjName+"/webpage/utils/proxy/httpproxygb2312.jsp"; if(targetUrl==null) return; else { targetUrl=targetUrl.replaceAll(":::","&"); } if(method==null) { method="GET"; } else { method=method.toUpperCase(); } URL url = new URL(targetUrl); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod(method); urlConnection.setDoOutput(true); urlConnection.setDoInput(true); urlConnection.setUseCaches(false); try { InputStream in = urlConnection.getInputStream(); //首先尝试用utf-8解码 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in,"utf-8")); temp = new StringBuffer(); String line = bufferedReader.readLine(); while (line != null) { temp.append(line).append("\r\n"); line = bufferedReader.readLine(); } bufferedReader.close(); content = temp.toString(); //解析头文件--获取字符串的编码方式 String testContent=content; //如果是GB2312编码格式,再做gb2312转换 if(testContent.toLowerCase().indexOf("encoding=\"gb2312\"")!=-1 || testContent.toLowerCase().indexOf("encoding='gb2312'")!=-1) { content=""; String reloadProxy=proxygb2312+"?requestmethod=get&url="+targetUrl.replaceAll("&",":::"); url = new URL(reloadProxy); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod(method); urlConnection.setDoOutput(true); urlConnection.setDoInput(true); urlConnection.setUseCaches(false); in = urlConnection.getInputStream(); bufferedReader = new BufferedReader(new InputStreamReader(in,"GB2312")); temp = new StringBuffer(); line = bufferedReader.readLine(); while (line != null) { temp.append(line).append("\r\n"); line = bufferedReader.readLine(); } bufferedReader.close(); content = temp.toString(); } else { //TODO 图片代理(目前仅适用于IE) request.setCharacterEncoding("utf-8"); Image srcImage = javax.imageio.ImageIO.read(url); if(srcImage!=null){ proxyType = "img";//TODO 标记为图片代理 content=""; //保持原始宽高 int old_w=srcImage.getWidth(null); //更改大小可制作缩略图 int old_h=srcImage.getHeight(null); //更改大小可制作缩略图 BufferedImage tag = new BufferedImage(old_w,old_h,BufferedImage.TYPE_INT_RGB); Color bgcolor = new Color(255,255,255);//白色背景色 tag.getGraphics().drawImage(srcImage,0,0,old_w,old_h,bgcolor,null); FileOutputStream newimage=new FileOutputStream("png.png"); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage); encoder.encode(tag); newimage.close(); ImageIO.write(tag, "JPG", response.getOutputStream()); //TODO 用于屏蔽servlet的异常 out.clear(); out=pageContext.pushBody(); } } } catch (IOException e) { e.printStackTrace(); throw e; } finally { if (urlConnection != null) urlConnection.disconnect(); } %> <% //不是图片代理则输出文本 if(!"img".equals(proxyType)){ %> <%=content%> <% } %>
/* 作用: - 解决跨域访问的问题。 实现: - 文本内容的代理(多用于请求服务) - 图片文件的代理 使用范例: - 文本代理:http://localhost:8080/exchange//webpage/utils/proxy/httpproxy.jsp?requestmethod=post&url=http://172.16.10.6:8080/sgs/actions/getCatalogs.action?userId=41:::catalogType=1:::catalogCode=330000000000020000:::show=true&_dc=1348106642931 - _dc是自动添加的随机数 - 图片代理:http://localhost:8080/exchange//webpage/utils/proxy/httpproxy.jsp?requestmethod=post&url=http://www.baidu.com/img/baidu_sylogo1.gif */
愤怒的coder- 钓鱼岛是中国的
- httpproxy_http代理_.rar (2.3 KB)
- 下载次数: 1
发表评论
-
jsp登录简单实例
2013-01-08 10:49 1011用户通过密码aaa进入用户或管理页面,拒绝绕过登录页面进 ... -
<!DOCTYPE html>很重要
2012-12-31 16:16 125173噩梦开始的源头:之前 ... -
获取行政区划地名地址的简称
2012-12-27 09:33 2264做地图相关的项目就会涉及到地名地址的查询,那么查询 ... -
javaweb系统的枚举设计
2012-09-24 15:42 3758/* 组件目的: 在java-web程序的研发过程 ... -
css文本样式系小结
2012-09-18 17:08 1181超链接带图标和文字, ... -
兼容的带样式的INPUT
2012-09-18 10:21 10904<style> /* 作用描述:给IN ... -
JS获取客户端浏览器基本信息
2012-09-12 15:33 1645/* * 工具类获取: * 客户端浏览器的类型,版本 ... -
css hack积累
2012-09-07 14:57 1138<html xmlns:wfs=" ... -
解析xml字符串
2012-08-31 09:08 1040工具方法:createXmlDOM /* * ... -
sortTable组件
2012-08-30 11:28 1246#sortTable.js /* 说明 ... -
FusionCharts统计图导出为图片或pdf
2012-08-27 15:28 32011 最近用FusionCharts做统计,要求可以 ... -
js获取body或屏幕的宽度大集合
2012-08-22 17:10 6187//【转】js获取body或屏幕的宽度大集合 va ... -
eclipse导出javadoc文档
2012-08-15 11:21 2034项目完成了,想把java源 ... -
SFC(System File Checer) 系统文件检查器
2012-08-15 09:59 1129System File Checker 系统文件检查器 ... -
工作汇报应该怎么样准备
2012-08-13 19:59 971经常会涉及到汇报的工作,不论给用户也好,部门会议也好,给领导汇 ... -
XmlDOM 小结
2012-08-10 16:53 1018/* 获取节点: - xmlDoc.getElem ... -
web页面原型设计原则:
2012-07-27 17:17 2782web页面做了不少,总结一下心得: 1 色调: ... -
使用vrml三维模型语言构建油田【井斜图】和【连井图】方案
2012-07-21 11:49 1727/* 使用vrml三维模型语 ... -
jsp导出word,java导入access,freemarker
2012-01-30 09:25 21521使用jsp+struts导出带有表格的word 要点 ... -
最新JSLogger和EasyTool(20120130版本)
2012-01-30 09:21 1552最新JSLogger和EasyTool(20120130版本) ...
相关推荐
HTTP代理 C# 网页代理 web代理
HTTP代理IP检测高达,哇咔咔。安全无毒。
HTTP代理服务器java 简单网站过滤
HTTP代理穿透方法
http代理源代码http代理http代理http代理http代理http代理
(1)设计并实现一个基本HTTP代理服务器。要求在指定端口(例如8080)接收来自客户的HTTP请求并且根据其中的URL地址访问该地址所指向的HTTP服务器(原服务器),接收HTTP服务器的响应报文,并将响应报文转发给对应的...
因安全等原因没能开通跟公网的连接,但项目又需要访问互联网上的接口资源,只能通过内网中可以跟公网连接的一台服务器作为代理跳转请求公网资源,觉得其他代理插件麻烦就自己写了一个SocketHttp代理,简单、方便使用...
用C语言实现的http代理服务器,可自己更改进行网站引导,网站屏蔽,用户屏蔽
http代理服务器的实现(程序).rar
自己做的HTTP代理 支持HTTPS代理,QQ代理,亲测可用,并且经过很长时间的真机测试,每一行代码都是自己敲的
实例http代理。有客户端和服务器端。Soket实现
Java编写的HTTP代理,可以通过代理访问
实现了一个功能简单的HTTP代理服务器,主要介绍多线程编程相关的知识,包括初始化临界段和删除临界段,使用临界段完成多个线程对临界资源的互斥访问,创建工作线程,退出工作线程,定义和设定事件,利用事件完成多个...
HTTP 代理服务器在 Windows下的实现
以前上TCP/IP课程时做的课程设计,很小的一个HTTP代理服务器,基于socket编程。VC6.0环境的。原创程序。 那时候还是新手,程序很简陋,不过好歹能用。 学校学习相关课程的学生可以参考下,当个课程作业没问题,老手...
采用c#实现的代理服务器技术,绝对的通俗易懂,而且可以作为很好的学习案例进行分析。特别是和http协议打交道比较多的c#.net程序员可千万别错过哦!只要能够学到东西,积分都是浮云
Visual C#实现HTTP代理服务程序的简单介绍和创建细节过程,初学者认真看看可以模仿制作,入门比较快。
商道HTTP代理IP验证工具是一款批量验证代理IP是否可用的软件。软件采用多线程操作,速度快,非常好用,验证代理IP非它莫属
http代理服务器delphi源代码,学习网络服务端的好例子
一个简单的http代理服务器。 支持http 和https c/c++源码。 代码易阅读和修改。供参考 经过测试,基本没有问题。