import java.io.*;
import java.net.*;

class UUCPAgent {

  final static String SERVER="uucp.gnuu.de";
  static String urlencode(String src) {
    char[] src2=new char[src.length()];
    src.getChars(0,src2.length,src2,0);
    char[] dst=new char[src2.length*3];
    char c;
    int j=0;

    for(int i=0; i<src2.length; i++) {
      c=src2[i];
      if (c>128 || c=='&' || c=='+' || c=='%' || c=='?') {
        final String h="0123456789ABCDEF";
        dst[j++]='%';
        dst[j++]=h.charAt(c >> 4 & 0x0F);
        dst[j++]=h.charAt(c      & 0x0F);
      }
      else if (c==' ') dst[j++]='+';
      else dst[j++]=c;
    }
    return new String(dst,0,j);
  }

  static void main(String[] arg) throws IOException {
    BufferedReader fr=new BufferedReader(
      new InputStreamReader(
      new FileInputStream("UUCPAgent.cfg"),"ISO-8859-1"));
    Socket s=new Socket(SERVER,80);
    StringBuffer buf=new StringBuffer();

    for(;;) {
      String line=fr.readLine();
      if (line==null) break;
      if (line.length()>0)
        buf.append("&").append(urlencode(line));
    }
    fr.close();

    PrintWriter sw=new PrintWriter(
      new OutputStreamWriter(
      s.getOutputStream(),"ISO-8859-1"));
    sw.println("POST /cgi-bin/uucpagent2 HTTP/1.0");
    sw.println("Host: "+SERVER);
    sw.println("Content-Length: "+(buf.length()-1));
    sw.println("Content-Type: application/x-www-form-urlencoded");
    sw.println();
    sw.print(buf.substring(1));
    sw.flush();

    InputStream sr=s.getInputStream();
    byte[] b=new byte[10000];
    for(;;) {
      int len=sr.read(b);
      if (len==-1) break;
      System.out.write(b,0,len);
    }
    sw.close();
    sr.close();
    s.close();
  }

}
