import java.io.*;
import java.net.*;
import java.util.*;
public class URLRequest
{
public static void main(String[] args) {
BufferedReader in = null;
if (args.length>0) {
try {
URL url = new URL(args[0]);
URLConnection connection = url.openConnection();
connection.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
if (args.length > 1) {
connection.setDoOutput(true);
Writer post = new OutputStreamWriter(connection.getOutputStream());
for (int i=1; i<args.length; i++) {
if (i > 1)
post.write('&');
post.write(encodeParameter(args[i]));
}
post.write("\r\n");
post.close();
}
connection.connect();
Map headers = connection.getHeaderFields();
Iterator it = headers.keySet().iterator();
while (it.hasNext()) {
String key = (String)it.next();
System.out.println(key+": "+headers.get(key));
}
System.out.println();
in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line=null;
while ((line=in.readLine()) != null)
System.out.println(line);
}
catch (MalformedURLException ex) {
System.err.println(ex);
}
catch (FileNotFoundException ex) {
System.err.println("Failed to open stream to URL: "+ex);
}
catch (IOException ex) {
System.err.println("Error reading URL content: "+ex);
}
if (in != null)
try {in.close();} catch (IOException ex) {}
}
else {
System.err.println ("Usage: URLRequest URL (uses GET)");
System.err.println (" URLRequest URL parameters... (uses POST)");
}
}
private static String encodeParameter(String parameter)
{
StringBuffer result = new StringBuffer();
try {
String name = null;
String value = "";
int ix = parameter.indexOf('=');
if (ix == -1)
name = parameter;
else {
name = parameter.substring(0,ix);
value = parameter.substring(ix+1);
}
result.append(name);
result.append('=');
result.append(URLEncoder.encode(value,"UTF-8"));
}
catch (UnsupportedEncodingException ex) {
System.err.println(ex);
}
return result.toString();
}
}
|