import java.net.*;
import java.io.*;
public class GoogleSoap {
public String marshall(String key, String searchString) {
StringBuffer payload = new StringBuffer("\n");
payload.append("\n");
payload.append("\n");
payload.append("\n");
payload.append("" + key + "\n");
payload.append("" + searchString + "
\n");
payload.append("0\n");
payload.append("10\n");
payload.append("true\n");
payload.append("\n");
payload.append("false\n");
payload.append("\n");
payload.append("UTF-8\n");
payload.append("UTF-8\n");
payload.append("\n");
payload.append("\n");
payload.append("\n");
return payload.toString();
}
public void post(String message) {
try {
byte[] request = message.getBytes();
System.out.println(new String(request));
System.out.println("# Data marshalled");
URL endpoint = new URL("http://api.google.com/search/beta2");
URLConnection con = endpoint.openConnection ();
System.out.println("# Connection opened");
con.setDoInput (true);
con.setDoOutput (true);
con.setUseCaches (false);
con.setAllowUserInteraction(false);
System.out.println("# Basic configuration done");
con.setRequestProperty ("Content-Length", Integer.toString (request.length));
con.setRequestProperty ("Content-Type", "text/xml");
con.setRequestProperty ("SOAPAction","\"urn:GoogleSearchAction\"");
System.out.println("# All configuration done");
OutputStream out = con.getOutputStream ();
out.write (request);
out.flush ();
out.close();
System.out.println("# Data sent");
InputStream in = con.getInputStream();
System.out.println("# Data received");
int i= -1;
while((i = in.read()) > -1) {
System.out.print((char)i);
}
}
catch(MalformedURLException e1) {
System.out.println(e1.getMessage());
}
catch(IOException e2) {
System.out.println(e2.getMessage());
}
}
public static void main(String[] args) {
if (args.length == 2) {
GoogleSoap sc = new GoogleSoap ();
sc.post(sc.marshall(args[0], args[1]));
} else {
System.out.println("Usage: java GoogleSoap ");
}
}
}