- From: Chris <chris@surewould.com>
- Date: Thu, 12 Feb 1998 16:53:34 -0500
- To: www-talk@w3.org
I'm trying to write some Java code that sends data to an HTML form.
(Technically, I want it to send some encoded data to the URL specified
in the form's ACTION attribute, but you know what I mean). The form I
want to send to uses POST, and I can't seem to figure out how to send
the POST data so it gets to the server. I've written a fake server so I
can spy on what Netscape sends when it POSTs form data, but it still
doesn't work. It seems that I can get the URL just fine, but I can't
post any data.
I've included the source below. Can anyone help?
Thanks,
Chris
static public void post (String urlName, String fileName, String
postData)
{
try
{
// Open output file
PrintWriter outfile = new PrintWriter(new
FileOutputStream(fileName));
// Connect to the web server & get streams
URL url = new URL(urlName);
Socket webSock = new Socket(url.getHost(), 80);
PrintWriter out = new PrintWriter(new
DataOutputStream(webSock.getOutputStream()));
DataInputStream in = new
DataInputStream(webSock.getInputStream());
// Send header stuff to the server (I stole this from what
Netscape sends)
out.println("POST " + url.getFile() + " HTTP/1.0");
out.println("Connection: Keep-Alive");
out.println("User-Agent: Mozilla/3.04 (Win95; I)");
out.println("Host: chrisl.radix.net");
out.println("Accept: image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, */*");
// Send the POST data
out.println("Content length: 134"); // I
hardwired the value just for now
out.println("");
out.println(postData);
out.println("");
out.flush();
// Eat the returned page & spit it out
String line;
while ((line = in.readLine()) != null)
{
outfile.println(line);
outfile.flush();
}
// Close everything
in.close();
out.close();
outfile.close();
} catch (Exception ex)
{
System.err.println(ex.getMessage());
ex.printStackTrace(System.err);
}
}
Received on Thursday, 12 February 1998 16:52:31 UTC