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

📄 httpreplyhdr.java

📁 简易防火墙代码
💻 JAVA
字号:
/******************************************************************
*** File HttpReplyHdr.java 
***
***/

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

// 
// Class:     HttpReplyHdr
// Abstract:  The headers of the server HTTP reply.
//

public class HttpReplyHdr {   static String CR="\r\n";   static String HTTP_PROTOCOL="HTTP/1.0";   static String HTTP_SERVER="Java Proxy Server";   String lastModified ="";   long   contentLength=0;   String extraErrorString ="";/** * Sets the last modified date for a header; * * @param date  A string holding an interner date * @return      true */   public boolean setModifiedDate(String date)   {      lastModified = date;      return true;   }/** * Adds an extra explanation. This extra information is * Added to the http headers failure explanation. * * @param str  Description to add. * @return     true. */   public boolean addErrorDescription(String str)   {      extraErrorString = str;      return true;   }/** * Forms a http ok reply header * * @param ContentType The mime-type of the content * @return            A string with the header in it */   public String formOk(String ContentType,long  ContentLength)   {
       contentLength = ContentLength;          String out =new String();              out += HTTP_PROTOCOL + " 200 Ok" + CR;       out += "Server: " + HTTP_SERVER  + CR;       out += "MIME-version: 1.0"       + CR;       if (0 < ContentType.length())            out += "Content-type: " + ContentType + CR;       else           out += "Content-Type: text/html" + CR;       if (0 != contentLength)           out += "Content-Length: " + Long.toString(contentLength) + CR;       if (0 < lastModified.length())           out +="Last-Modified: " + lastModified + CR;       out +=CR;       return out;   }/** * private! builds an http document describing a headers reason. * * @param Error        Error name. * @param Description  Errors description. * @return             A string with the HTML description body */   private String formErrorBody(String Error,String Description)   {   String out;   //Generate Error Body   out  ="<HTML><HEAD><TITLE>";   out += Error ;    out +="</TITLE></HEAD>";   out +="<BODY><H2>" + Error +"</H2>\n";   out +="</P></H3>";   out += Description;                         out +="</BODY></HTML>";   return out;   }           /** * builds an http document describing an error. * * @param Error        Error name. * @param Description  Errors description. * @return             A string with the HTML description body */   private String formError(String Error, String Description)   {   /* A HTTP RESPONCE HEADER LOOKS ALOT LIKE:    *    * HTTP/1.0 200 OK    * Date: Wednesday, 02-Feb-94 23:04:12 GMT    * Server: NCSA/1.1    * MIME-version: 1.0    * Last-modified: Monday, 15-Nov-93 23:33:16 GMT    * Content-type: text/html    * Content-length: 2345    * \r\n    */      String body=formErrorBody(Error,Description);   String header =new String();   header +=HTTP_PROTOCOL +" " + Error + CR;   header +="Server: " + HTTP_SERVER   + CR;   header +="MIME-version: 1.0"        + CR;   header +="Content-type: text/html"  + CR;      if (0 < lastModified.length())       header +="Last-Modified: " + lastModified +CR;   header +="Content-Length: " + String.valueOf(body.length())+ CR;   header += CR;   header += body;      return header;   }/** * Indicates a new file was created. * * @return    The header in a string; */public String formCreated()   {   return formError("201 Created","Object was created");   }/** * Indicates the document was accepted.  * * @return    The header in a string; */public String formAccepted()   {      return formError("202 Accepted","Object checked in");   }/** * Indicates only a partial responce was sent. * * @return    The header in a string; */public String  formPartial()   {   return formError("203 Partial","Only partail document available");   }       /** * Indicates a requested URL has moved to a new address or name. * * @return    The header in a string; */public String formMoved()   {   //300 codes tell client to do actions   return formError("301 Moved","File has moved");   }/** * Never seen this used. * * @return    The header in a string; */public String formFound()   {   return formError("302 Found","Object was found");   }/** * The requested method is not implemented by the server. * * @return    The header in a string; */public String formMethod()   {          return formError("303 Method unseported","Method unseported");   }                               /** * Indicates remote copy of the requested object is current. * * @return    The header in a string; */public String formNotModified()   {    return formError("304 Not modified","Use local copy");   }/** * Client not otherized for the request. * * @return    The header in a string; */public String formUnautorized()   {   return formError("401 Unathorized","Unathorized use of this service");   }/** * Payment is required for service. * * @return    The header in a string; */public String formPaymentNeeded()   {   return formError("402 Payment required","Payment is required");   }/** * Client if forbidden to get the request service. * * @return    The header in a string; */public String formForbidden()   {   return formError("403 Forbidden","You need permission for this service");   }   /** * The requested object was not found. * * @return    The header in a string; */public String formNotFound()   {   return formError("404 Not_found","Requested object was not found");   }/** * The server had a problem and could not fulfill the request. * * @return    The header in a string; */public String formInternalError()    {   return formError("500 Internal server error","Server broke");   }/** * Server does not do the requested feature. * * @return    The header in a string; */public String formNotImplemented()   {   return formError("501 Method not implemented","Service not implemented, programer was lazy");   }/** * Server is overloaded, client should try again latter. * * @return    The header in a string; */public String formOverloaded()   {   return formError("502 Server overloaded","Try again latter");   }   /** * Indicates the request took to long. * * @return    The header in a string; */public String formTimeout()   {   return formError("503 Gateway timeout","The connection timed out");   }/** * Indicates the client's proxies could not locate a server. * * @return    The header in a string; */public String formServerNotFound()   {   return formError("503 Gateway timeout","The requested server was not found");   }
/**
 * Indicates the client is not allowed to access the object.
 *
 * @return    The header in a string;
 */
public String formNotAllowed()
   {
   return formError("403 Access Denied","Access is not allowed");
   }
}

⌨️ 快捷键说明

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