用Java编写的模拟ASP Post请求写的一个上海的违章查询的例子
import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; public class TestPost { public static void testPost() throws IOException { URL url = new URL("http://www.shjtaq.com/zwfg/dzjc_new.asp"); URLConnection connection = url.openConnection(); /** * 然后把连接设为输出模式。URLConnection通常作为输入来使用,比如下载一个Web页。 * 通过把URLConnection设为输出,你可以把数据向你个Web页传送。下面是如何做: */ connection.setDoOutput(true); /** * 最后,为了得到OutputStream,简单起见,把它约束在Writer并且放入POST信息中,例如: ... */ OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "gb2312"); out.write("cardqz=沪&carnumber=车牌号&type1=02/小型汽车号牌&fdjh=发动机号&act=search"); //向页面传递数据。post的关键所在! // remember to clean up out.flush(); out.close(); // 一旦发送成功,用以下方法就可以得到服务器的回应: StringBuffer webpage = new StringBuffer(); InputStream in = connection.getInputStream(); while (((in.read()) != -1)) { int all = in.available(); byte[] b = new byte[all]; in.read(b); webpage.append(new String(b, "gb2312")); } in.close(); System.out.println(webpage); } public static void main(String[] args) throws IOException { testPost(); } }