jsp跨域访问代理,虽然实现了,但是我这里post方式传值二进制值过大无法实现。悲剧还是没达到理想效果。
<%@ page import="java.net.*,java.util.*,java.lang.*,java.io.*,java.net.URLEncoder"%>
<%@ page contentType="text/xml;charset=gb2312"%>
<%
String url = null;
StringBuffer params = new StringBuffer();
Enumeration enu = request.getParameterNames();
int total = 0;
while (enu.hasMoreElements()) {
String paramName = (String) enu.nextElement();
if (paramName.equals("url")) {
url = request.getParameter(paramName);
} else {
if (total == 0) {
params.append(paramName).append("=").append(
URLEncoder.encode(request
.getParameter(paramName), "UTF-8"));
} else {
params.append("&").append(paramName).append("=")
.append(
URLEncoder.encode(request
.getParameter(paramName),
"UTF-8"));
}
++total;
}
}
String para = request.getParameter("file");
//System.out.println("=========="+url.toString()+"?file="+URLEncoder.encode(para));
System.out.println("=========="+URLEncoder.encode(para).substring(0,500));
if (url != null) {
// 使用GET方式向目的服务器发送请求
URL connect = new URL(url.toString()+"?file="+URLEncoder.encode(para).toString()+"&fileName=sss");
URLConnection connection = connect.openConnection();
HttpURLConnection httpConn = (HttpURLConnection) connection;
//connection.setDoOutput(true);
//connection.setDoInput(true);
//connection.setRequestProperty("Content-type",
// "application/x-www-form-urlencoded");
//connection.connect();
// httpConn.setRequestProperty("Content-Length", String.valueOf(b.length));
// httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
//httpConn.setRequestProperty("SOAPAction", SOAPAction);
httpConn.setRequestMethod("POST");
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
httpConn.setRequestProperty("Content-type",
"application/x-www-form-urlencoded");
httpConn.connect();
//获得连接输出流
DataOutputStream os = new DataOutputStream(connection
.getOutputStream());
os.flush();
os.close();
BufferedReader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
out.println(line);
}
reader.close();
}
%>