- 浏览: 458673 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 1066用户通过密码aaa进入用户或管理页面,拒绝绕过登录页面进 ... -
<!DOCTYPE html>很重要
2012-12-31 16:16 125269噩梦开始的源头:之前 ... -
获取行政区划地名地址的简称
2012-12-27 09:33 2342做地图相关的项目就会涉及到地名地址的查询,那么查询 ... -
javaweb系统的枚举设计
2012-09-24 15:42 3818/* 组件目的: 在java-web程序的研发过程 ... -
css文本样式系小结
2012-09-18 17:08 1237超链接带图标和文字, ... -
兼容的带样式的INPUT
2012-09-18 10:21 10963<style> /* 作用描述:给IN ... -
JS获取客户端浏览器基本信息
2012-09-12 15:33 1733/* * 工具类获取: * 客户端浏览器的类型,版本 ... -
css hack积累
2012-09-07 14:57 1182<html xmlns:wfs=" ... -
解析xml字符串
2012-08-31 09:08 1075工具方法:createXmlDOM /* * ... -
sortTable组件
2012-08-30 11:28 1312#sortTable.js /* 说明 ... -
FusionCharts统计图导出为图片或pdf
2012-08-27 15:28 32901 最近用FusionCharts做统计,要求可以 ... -
js获取body或屏幕的宽度大集合
2012-08-22 17:10 6241//【转】js获取body或屏幕的宽度大集合 va ... -
eclipse导出javadoc文档
2012-08-15 11:21 2082项目完成了,想把java源 ... -
SFC(System File Checer) 系统文件检查器
2012-08-15 09:59 1170System File Checker 系统文件检查器 ... -
工作汇报应该怎么样准备
2012-08-13 19:59 1051经常会涉及到汇报的工作,不论给用户也好,部门会议也好,给领导汇 ... -
XmlDOM 小结
2012-08-10 16:53 1063/* 获取节点: - xmlDoc.getElem ... -
web页面原型设计原则:
2012-07-27 17:17 2828web页面做了不少,总结一下心得: 1 色调: ... -
使用vrml三维模型语言构建油田【井斜图】和【连井图】方案
2012-07-21 11:49 1774/* 使用vrml三维模型语 ... -
jsp导出word,java导入access,freemarker
2012-01-30 09:25 22421使用jsp+struts导出带有表格的word 要点 ... -
最新JSLogger和EasyTool(20120130版本)
2012-01-30 09:21 1601最新JSLogger和EasyTool(20120130版本) ...
相关推荐
在IT行业中,HTTP代理是一种网络通信机制,它允许客户端(如Web浏览器)通过另一台服务器作为中介来访问互联网上的资源。这种技术常用于提高匿名性、优化网络性能或绕过特定的网络限制。本篇文章将深入探讨如何使用...
### HTTP代理穿透方法详解 #### 一、引言 HTTP代理穿透是指客户端通过HTTP代理服务器访问互联网资源的技术手段。在很多场景下,由于网络安全策略或技术限制,客户端不能直接访问某些资源,这时就需要借助HTTP代理...
设计并实现一个基本 HTTP 代理服务器。要求在指定端口(例如 8080)接收来自客户的 HTTP 请求并且根据其中的 URL 地址访问该地址所指向的 HTTP 服务器(原服务器),接收 HTTP 服务器的响应报文,并将响应报文转发给...
【Visual C#实现HTTP代理服务程序】 HTTP代理服务程序是一种在网络中起到中转作用的软件,允许客户端(如浏览器)通过代理服务器访问互联网上的资源。HTTP代理服务是针对HTTP协议设计的,它工作在TCP/IP参考模型的...
"商道HTTP代理IP验证工具"就是针对这一需求设计的一款实用软件,它专为批量验证HTTP代理IP的可用性而生。下面,我们将详细探讨这款工具的功能、工作原理以及其在实际使用中的价值。 首先,我们要理解什么是代理IP。...
HTTP代理服务器在Windows环境下主要起到中介的作用,允许客户端(如Web浏览器)通过它与外部互联网进行通信。这种设置有助于提高网络性能、实现访问控制、监控网络活动以及在多用户环境中节省公网IP地址。本文将详细...
HTTP代理IP检测高达,哇咔咔。安全无毒。
Java编写的HTTP代理是一种软件应用,它允许用户通过Java程序作为中介来访问互联网,从而实现对HTTP请求的转发。这种代理服务器通常用于多种用途,包括网络匿名性、内容过滤、性能优化以及网络测试等。在Java中实现...
标题 "完全自助开发的HTTP代理程序" 描述了一个项目,该项目是作者独立完成的,旨在理解和实现HTTP代理服务器的工作原理。这个程序能够处理HTTP协议的数据解包与打包,包括对chunked编码的处理,这对于理解HTTP协议...
本文将深入探讨C#实现的HTTP代理源码,特别关注其支持MSN和QQ代理上网的功能。 首先,我们需要理解HTTP代理的基本概念。HTTP代理是一种服务器,它充当客户端与目标Web服务器之间的桥梁。客户端通过HTTP代理发送请求...
HTTP代理服务器java 简单网站过滤
HTTP代理服务器是一种网络服务,它允许客户端(如Web浏览器)通过该服务器与目标服务器进行通信。在本场景中,我们有一个名为"Http 代理服务器 (源码)"的项目,这是一个控制台应用程序,专为VC6(Visual C++ 6.0)...
在这个主题中,我们关注的是使用Delphi编写的一个简单的HTTP代理服务器的源代码。HTTP代理是网络通信中的一个重要概念,它作为客户端和互联网之间的中介,允许用户通过代理服务器访问网页和其他在线资源。 在Delphi...
本项目提供的"简单HTTP代理服务器-源码c++"为开发者提供了一个基础的平台,用于理解和实现HTTP代理服务。源码使用C/C++编写,语言简洁且易于理解,适合初学者学习和进一步开发。 HTTP代理服务器是一个介于客户端和...
【简单HTTP代理服务器】是一种网络通信工具,它允许用户通过该服务器作为中介,与互联网上的其他服务器进行交互。这样的设计可以用于多种目的,包括隐私保护、网络访问控制、负载均衡等。在这里,我们讨论的是一个自...
本项目"vc++http代理服务器"是一个使用VC++6.0和MFC开发的HTTP代理服务器软件。对于VC++和MFC编程爱好者来说,这是一个很好的学习资源,可以深入理解网络编程、多线程处理、套接字编程以及代理服务器的工作原理。 ...
### SOCK-HTTP代理协议解析 #### 一、引言 随着互联网技术的不断发展与网络环境的日益复杂化,为了确保网络安全、控制访问权限以及优化网络性能,越来越多的企业和个人选择使用代理服务。代理服务通过中间服务器...
(1)设计并实现一个基本HTTP代理服务器。要求在指定端口(例如8080)接收来自客户的HTTP请求并且根据其中的URL地址访问该地址所指向的HTTP服务器(原服务器),接收HTTP服务器的响应报文,并将响应报文转发给对应的...
"Java的HTTP代理服务器 Smart Cache" 是一个基于Java开发的网络工具,主要用于处理HTTP网络请求,同时具备缓存功能,可以提升数据访问速度并减轻服务器压力。它利用了Java的多线程和网络编程能力,实现了对HTTP协议...