|
![]() | 作者: wxngzybb [wxngzybb]
![]() |
登录 |
请问大家有没有谁能找到关于http_tunnel(http隧道)的技术细节的文章,就是细节性较强,不是单讲大概原理的.谢谢了 [此贴被 286(unique) 在 04月28日13时47分 编辑过] |
地主 发表时间: 05-04-21 16:26 |
![]() | 回复: llk2005 [llk2005] ![]() |
登录 |
你 看这个合不 合你 的口味 来源于:http://blog.csdn.net/netsniffer/archive/2004/10/14/135736.aspx Applet用Http隧道技术和Servlet通讯 (源码) 作者:jdeveloper Applet source import java.io.*; import java.applet.Applet; import java.awt.*; public class TestDataStreamApplet extends Applet { String response; public void init(){ try{ java.net.URL url = new java.net.URL(getDocumentBase(),"servlet/DataStreamEcho"); java.net.URLConnection con = url.openConnection(); con.setUseCaches(true); con.setDoOutput(true); con.setDoInput(true); ByteArrayOutputStream byteout = new ByteArrayOutputStream(); DataOutputStream out = new DataOutputStream(byteout); out.writeUTF("hello world!"); out.flush(); byte buf[] = byteout.toByteArray(); con.setRequestProperty("Content-type","application/octest-stream"); con.setRequestProperty("Content-length",""+buf.length); DataOutputStream dataout = new DataOutputStream(con.getOutputStream()); dataout.write(buf); dataout.flush(); dataout.close(); DataInputStream in = new DataInputStream(con.getInputStream()); response = in.readUTF(); System.out.println("read from server :" + response); in.close(); } catch(Exception e){ e.printStackTrace(); } } public void paint(Graphics g){ g.drawString("read from server :" + response,10,20); } } Servlet source import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class DataStreamEcho extends HttpServlet{ public void service(HttpServletRequest req,HttpServletResponse resp) throws ServletException ,java.io.IOException { DataInputStream in = new DataInputStream(req.getInputStream()); resp.setContentType("application/octest-stream"); ByteArrayOutputStream byteout = new ByteArrayOutputStream(); DataOutputStream out = new DataOutputStream(byteout); String response = in.readUTF(); out.writeUTF(response); out.flush(); byte buf[]= byteout.toByteArray(); resp.setContentLength(buf.length); ServletOutputStream servletout = resp.getOutputStream(); servletout.write(buf); servletout.close(); } } |
B1层 发表时间: 05-04-28 11:42 |
![]() | 回复: wxngzybb [wxngzybb] ![]() |
登录 |
这段代码应该只是利用的现成http-tunnel技术的接口API编程,不过还是谢谢你 |
B2层 发表时间: 05-04-28 13:53 |
![]() | 回复: shesh [shesh] ![]() |
登录 |
没那么复杂呢. 就一个connect **** 你查查代理服务器的协议就知道了. |
B3层 发表时间: 05-04-30 19:00 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号