background image

Java 编程:Java 向 Web 站点发送 POST 请求的步骤

向一个 Web 站点发送 POST 请求只需要简单的几步:
  首先要和 URL 下的 URLConnection 对话。URLConnection 可以很容易的从 URL 得到。
比如:
  // Using java.net.URL and
  //java.net.URLConnection

  URL url = new
  URL("http://jobsearch.dice.com/jobsearch/jobsearch.cgi");
  URLConnection connection = url.openConnection();

  然后把连接设为输出模式。URLConnection 通常作为输入来使用,比如下载一个 Web
页。通过把 URLConnection 设为输出,你可以把数据向你个 Web 页传送。下面是如何做:
  ...
  connection.setDoOutput(true);
  最后,为了得到 OutputStream,简单起见,把它约束在 Writer 并且放入 POST 信息中,
例如:
  ...
  OutputStreamWriter out = newOutputStreamWriter(uc.getOutputStream(), "8859_1");
  out.write("username=bob&password="+password+"");
  // remember to clean up

  out.flush();
  out.close();

  这样就可以发送一个看起来象这样的 POST:
  POST /jobsearch/jobsearch.cgi HTTP 1.0
  ACCEPT: text/plain
  Content-type: application/x-www-form-urlencoded
  Content-length: 99
  username=bob
  password=someword
  一旦发送成功,用以下方法就可以得到服务器的回应:
  connection.getInputStream();
  一些 Web 站点用 POST 形式而不是 GET,这是因为 POST 能够携带更多的数据,而
且不用 URL,这使得它看起来不那么庞大。使用上面列出的大致的代码,Java 代码可以和
这些站点轻松的实现对话。