12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <%@page session="false"%>
- <%@page import="java.net.*,java.io.*" %>
- <%@ page pageEncoding="UTF-8" isELIgnored="false" %>
- <%
- /**
- *为实现客户端跨域请求而采用jsp制作的代理转发器
- *使用方式:
- *将该文件放在iserver webapps下面你的工程目录下,请求格式:http://localhost:8090/yourRoot/Proxy.jsp?url=yoururl,注意url参数中特殊字符需要转码。
- *支持post,get请求
- */
- try {
- String reqUrl = request.getParameter("url");
-
- URL url = new URL(reqUrl);
- HttpURLConnection con = (HttpURLConnection)url.openConnection();
- con.setRequestProperty("content-type", "application/xml; charset=UTF-8");
- con.setDoOutput(true);
- con.setRequestMethod(request.getMethod());
- //con.setCharacterEncoding("UTF-8");
- int clength = request.getContentLength();
- if(clength > 0) {
- con.setDoInput(true);
- byte[] idata = new byte[clength];
-
- //String s = String.ValueOf(clength);
- //System.out.println(clength);
-
- BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream)request.getInputStream()));
- String line1 = null;
- StringBuilder sb = new StringBuilder();
- while((line1 = br.readLine())!=null){
- sb.append(line1);
- }
- //request.getInputStream().read(idata, 0, clength);
- //String test=String.valueOf(idata);
- //System.out.println(sb);
-
- //OutputStreamWriter out=new OutputStreamWriter(con.getOutputStream());
- //out.write(new String(sb.toString().getBytes("ISO-8859-1")));
- byte[] paradata = sb.toString().getBytes();
- con.getOutputStream().write(paradata);
- }
- response.setContentType(con.getContentType());
- BufferedReader rd = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
- String line;
- StringBuilder sb1 = new StringBuilder();
- while ((line = rd.readLine()) != null) {
- out.println(line);
- sb1.append(line);
- }
- rd.close();
- } catch(Exception e) {
- System.out.println(0);
- System.out.println(e);
- response.setStatus(500);
- }
- %>
|