/* httpapplet implements HTTP 1.0 and 1.1 communication with HTTP servers on any port. Code requires signing for both browsers using Signtool (Netscape) and signcode (IE4+). M. Gallant 07/06/2000 */ import java.awt.*; import java.applet.*; import java.io.*; import java.util.*; import java.net.*; import netscape.security.PrivilegeManager; public class httpapport extends Applet { public TextArea textArea = new TextArea (12, 50); public TextField tfhttp = new TextField("HEAD /index.html HTTP/1.0", 25) ; //default TextField tfhost = new TextField("java.ca.nortel.com", 25) ; TextField tfport = new TextField("80", 10) ; Button sendhttp = new Button("Send HTTP command") ; Button clearbutton = new Button("Clear TextArea") ; public void init () { setBackground(Color.gray) ; Panel p = new Panel() ; p.setLayout(new GridLayout(4,1,5,5)) ; Panel p1 = new Panel() ; p1.add(clearbutton); p1.add(sendhttp) ; p.add(p1) ; p1=new Panel() ; p1.add(new Label("Host:", Label.RIGHT)); p1.add(tfhost) ; p.add(p1) ; p1=new Panel() ; p1.add(new Label("Http:", Label.RIGHT)) ; p1.add(tfhttp) ; p.add(p1) ; p1=new Panel() ; p1.add(new Label("port:", Label.RIGHT)) ; p1.add(tfport) ; p.add(p1) ; add(p) ; add(textArea) ; sendhttp.setBackground(Color.red) ; clearbutton.setBackground(Color.green) ; try{ PrivilegeManager.enablePrivilege("UniversalConnect") ; // required for NN } catch(Exception cnfe) { // System.out.println("netscape.security.PrivilegeManager class not found") ; } } public boolean action(Event evt, Object arg) { //intercept AWT action. if (evt.target == clearbutton) { textArea.setText("") ; return true ; } else if (evt.target == sendhttp) { try{ PrivilegeManager.enablePrivilege("UniversalConnect") ; // required for NN } catch(Exception cnfe) { // System.out.println("netscape.security.PrivilegeManager class not found") ; } try{ String server = tfhost.getText() ; String message = tfhttp.getText() ; int port = 80; port = Integer.parseInt(tfport.getText()) ; Socket socket = new Socket(server,port); BufferedReader inputStream = new BufferedReader(new InputStreamReader(socket.getInputStream())); DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()) ; outputStream.writeBytes(message+"\r\n"); if(message.indexOf("HTTP/1.1")>0){ outputStream.writeBytes("HOST: " + server + "\r\n") ; outputStream.writeBytes("Connection: close\r\n\r\n") ; } else outputStream.writeBytes("\r\n") ; outputStream.flush() ; String line = null; while((line = inputStream.readLine()) != null) textArea.append(line+"\n"); // inputStream.close() ; // outputStream.close() ; socket.close(); //Close the socket and keyboard input. }//end try catch(UnknownHostException e){ textArea.append(e+"\n"); }//end catch UnknownHostException catch(IOException e){ // textArea.append(e +"\n"); } return true; } // end if else return false; } // end action handler }