⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httprequest.java

📁 这是linux下ssl vpn的实现程序
💻 JAVA
字号:
/*
 *  SSL-Explorer
 *
 *  Copyright (C) 2003-2006 3SP LTD. All Rights Reserved
 *
 *  This program is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU General Public License
 *  as published by the Free Software Foundation; either version 2 of
 *  the License, or (at your option) any later version.
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public
 *  License along with this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
			
package com.sslexplorer.vpn.client;

import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;

public class HTTPRequest {

  Vector parameters = new Vector();
  Hashtable headers = new Hashtable();

  public HTTPRequest() {
  }

  void addParameter(String name, String value) {
    addParameter(new ParameterPair(name, value));
  }

  void addParameter(ParameterPair pair) {
    parameters.addElement(pair);
  }

  void setHeader(String header, String value) {
    headers.put(header.toLowerCase(), value.trim());
  }

  boolean containsHeader(String header) {
    return headers.containsKey(header.toLowerCase());
  }

  boolean containsParameter(String name) {
    for(Enumeration e = parameters.elements(); e.hasMoreElements(); ) {
      if(((ParameterPair)e.nextElement()).getName().equals(name)) {
        return true;
      }
    }
    return false;
  }
  
  public ParameterPair getParameterPair(String name) {
    ParameterPair pair;
    for(Enumeration e = parameters.elements(); e.hasMoreElements(); ) {
      pair = (ParameterPair)e.nextElement();
      if(name.equals(pair.getName())) {
        return pair;
      }
    }
    return null;
    
  }

  public String getParameter(String name) {
    ParameterPair pair = getParameterPair(name);
    return pair == null ? null : pair.getValue();
  }

  public String getHeader(String name) {
    return (String)headers.get(name.toLowerCase());
  }

  public String[] getParameterValues(String name) {
    Vector values = new Vector();
    ParameterPair pair;
    for(Enumeration e = parameters.elements(); e.hasMoreElements(); ) {
      pair = (ParameterPair)e.nextElement();
      if(name.equals(pair.getName())) {
        values.addElement(pair.getValue());
      }
    }
    if(values.size() == 0) {
      return null;
    }
    String[] v = new String[values.size()];
    for(int i = values.size() - 1 ; i >= 0 ; i--) {
      v[i] = (String)values.elementAt(i);
    }
    return v;
  }

  public Vector getParameters() {
    return parameters;
  }

  public Hashtable getHeaders() {
    return headers;
  }
  
  public class ParameterPair {
    String name, value;
    
    public ParameterPair(String name, String value) {
      this.name = name;
      this.value = value;
    }
    
    public String getName() {
      return name;
    }
    
    public String getValue() {
      return value;
    }
  }

  /**
   * Get a <code>Hashtable</code> of parameters. As the table is keyed by
   * parameter name, only the first value for each name can be returned 
   * @return
   */
  public Hashtable getParametersMap() {
    Hashtable r = new Hashtable();
    ParameterPair pair;
    for(Enumeration e = parameters.elements(); e.hasMoreElements(); ) {
      pair = (ParameterPair)e.nextElement();
      if(!r.containsKey(pair.getName())) {
        r.put(pair.getName(), pair.getValue());
      }
    }
    return r;
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -