📄 httprequest.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 + -