当前位置:  技术问答>java相关

一段应该没有错的代码

    来源: 互联网  发布时间:2015-01-09

    本文导语:  是个proxy反正我调不通,谁再试试。通了请告诉我。只能加20分,先到先得了:) import java.net.*; import java.lang.*; import java.io.*; public class WebProxy extends Thread {     private Socket skClient, skServer;     private BufferedR...

是个proxy反正我调不通,谁再试试。通了请告诉我。只能加20分,先到先得了:)

import java.net.*;
import java.lang.*;
import java.io.*;

public class WebProxy extends Thread {
    private Socket skClient, skServer;
    private BufferedReader brClient, brServer;
    private PrintWriter pwServer, pwClient;
    private static final int iDATABUFFERSIZE = 25;
    private String sLocalIP;

    private static String sServer = "Server> ";
    private static String sClient = "Client> ";
    private static String sProxy  = "Proxy > ";
    private static String sSpace  = "        ";

    private static final String HTTP_VERSION = "HTTP/1.0";
    private static final String CRLF = "rn";

    public WebProxy (Socket skClient) {
this.skClient = skClient;
    }               
    
    public void run() {
String sFromClient, sFromServer;

try {
    brClient = new BufferedReader(new InputStreamReader(skClient.getInputStream()));
    pwClient = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(skClient.getOutputStream())));

    sFromClient = brClient.readLine();
    if (sFromClient == null) {
pwClient.close();
return;
    }
    //System.out.println(sFromClient); 
    
    
    int i1 = sFromClient.indexOf(' ');
    int i2 = sFromClient.lastIndexOf(' ');

    if (i1 == -1 || i2 == -1) {
//simple validation af input
//sFromServer = "531 Incorrect usage - closing connection.";
//System.out.println(sProxy + sFromServer);
//pwClient.print(sFromServer + "rn");
//pwClient.flush();
//skControlClient.close();
//return;
    }
    URL url = new URL(sFromClient.substring(i1 + 1, i2));
    if (!url.getProtocol().equals("http")) throw new IOException();

    String httpVersion, method;
    int serverPort = url.getPort() == -1 ? 80 : url.getPort();
    method = sFromClient.substring(0, i1);
    httpVersion = sFromClient.substring(i2 + 1);

    skServer = new Socket(url.getHost(), serverPort);
    brServer = new BufferedReader(new InputStreamReader(skServer.getInputStream()));
    pwServer = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(skServer.getOutputStream())));
    
    pwServer.print(method + " " + url.getFile() + " " + HTTP_VERSION + CRLF);
    //System.out.println(method + " " + url.getFile() + " " + HTTP_VERSION);


    //read/send headers from client
    int contentLength = 0;
    while (!(sFromClient = brClient.readLine()).equals("")) {
if (sFromClient.startsWith("Connection: ")) {
} else if (sFromClient.startsWith("Proxy-")) {
} else {
    //System.out.println(sFromClient);
    pwServer.print(sFromClient + CRLF);
    if (sFromClient.toLowerCase().startsWith("content-length: ")) {
     contentLength = Integer.parseInt(sFromClient.substring(16));
    }
}
    }
    pwServer.print("Connection: close" + CRLF);
    pwServer.print(CRLF);
    //System.out.print("Connection: close" + CRLF + CRLF);
    pwServer.flush();
    
    
    int noBytes = 0;
    int i = 0;
    char bRead[] = new char[iDATABUFFERSIZE];

    while (noBytes 

    
 
 

您可能感兴趣的文章:

  • 在 vi 中要替换第2列中的所有字符, 应该如何写替换代码呢?
  • 应该怎样学《莱昂氏UNIX源代码分析》
  • 简单!如果网页的内容为HTML标签和JAVASCRIPT代码,那应该将该文件保存为.jsp还是
  • 请教带定时器的,对高速运转的客户服务器(cs)系统的代码应该怎么调试。
  • 浙大的linux原代码应该怎么看!
  • 一个J2EE应用需要同客户端保持一个安全的(SSL/HTTPS)长连接,请问此部分的代码应该用什么J2EE component来实现,Session EJB or Servle
  • 这段代码应该怎么去理解?
  • 我想在VC下编写代码再移植到linux下运行,我应该注意什么》??
  • 请帮我看看这段代码,应该很简单!!!!
  • 有没有什么办法快速的找出应该包含的头文件?
  • oracle中怎么没有boolean类型的字段?应该用什么代替?
  • 有谁知道怎么从硬盘安装 AS 4的(四张光盘中没有DOSUTILS的,应该不能用一般方法吧)
  • 请问用Linux编写PDA上的程序应该用什么开发环境?有没有像eVC这样的东东?
  • 我安装了solaris7,但是没有cc,我应该怎么做?man cc能够显示
  • 请问Linux有没有主分区和逻辑分区这个么一个说法呢!一般比较主流的应该怎么分呢?
  • 我的linux sendmail邮件服务器的/var/spool/mqueue有很多文件,应该怎样清除没有发送出去的过时邮件呢
  • 求救!在linux上安装bind9.3.0,安装完后,相应目录底下没有应该被安装的文件
  • fedora 6下 输入 system-config-soundcar没有反应 应该用什么才能出现声卡测试工具啊?
  • 我在虚拟机上装了redhat9.0,结果没有talnet服务,我现在应该怎么办
  • 如果没有操作系统,Hello World可以运行吗?如果要在一台没有操作系统的机器上运行Hello World需要什么?应该怎么实现?
  • 我有一个Linux,一开始没有安装Gnome,现在我想装上来,应该怎么做呢
  • 各位先辈,我以前从来都没有接触过java,现在想学,不知道应该先看一些什么样的书?
  • Fedora 默认是那个 ftp服务器, 如果没有我应该怎样安装,配置? 兄弟谢谢了...
  • 关于LINUX下1024*768显示问题,是不是因为没有驱动显卡才不能设置,如果是的话应该怎么驱动
  • D-link DWL-122无线网卡厂家没有提供Linux下的驱动,我应该怎么办使得此无线网卡能在Linux下用啊?
  • 各位仁兄贤弟:Java Applet 有没有可能嵌入 C++ 应用程序?应该如何做?谢谢
  • 最近看apue,程序4-10中,编译时,使用两个宏major和minor来访问主次设备号,没有定义是怎么回事,应该怎么解决呢?
  • 初学者的问题:目前我应该装那一个java开发工具,jbuilder7? JavaScript?有没有java2.0?现在软件公司开发用的是那一种?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 应该叫做关于调用jsp的问题吧?应该怎么办?
  • 紧急!!!这个问题为什么出错,我想是不应该的啊两个“ON”应该是相同的才对啊结果。。。。。
  • 请问在solaris X86 的安装中,应该如何分区呢?其大小应该如何定呢?可否存在windows和solaris两种系统在一块硬盘上?
  • .deb 应该如何安装?
  • 有一定基础后,请问应该先看Linux内核还是驱动呢?
  • 请问下面一句话应该怎样理解?
  • codeblocks应该怎么用啊
  • TOMCAT中,*.jar类应该放在什么路径下,如何配置?
  • 学习UNIX编程应该从那里入手?
  • winlinux2003的安装应该注意点什么?谢谢
  • Fedora 默认是那个 ftp服务器, 如果没有我应该怎样安装,配置? 兄弟谢谢了... iis7站长之家
  • (求助)准备向linux内核方向发展应该有哪些基础???
  • 问个AIX题库的一道题,感觉答案应该是A啊
  • 驱动移植应该怎么入手
  • makefile这句话应该则怎么理解
  • 学习openGL的话,应该做些什么准备呢? 在线等哦,
  • secureCRT应该怎么连图中的机器
  • 用jrun3执行jsp,那javabean应该放在哪个目录下?
  • 在安装Linux时"键盘设置"应该选哪种类型的呢?
  • 想深入学习Java应该学习哪些东西


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3