//Java第四天之POST访问
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.*;
public class NewAs04 {
public static void main(String[] args) {
//捕获异常
try {
URL url = new URL("http://127.0.0.1/post.php");
//HttpURLConnection 打开链接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置POST访问
conn.setRequestMethod("POST");
//超时等待
conn.setReadTimeout(5000);
//可读取为真
conn.setDoInput(true);
//可发送数据为真
conn.setDoOutput(true);
conn.setConnectTimeout(5000);
//发送参数
String Data="name=230250&pass=230250&type=Web";
//打开输出流操作
OutputStreamWriter out = new OutputStreamWriter( conn.getOutputStream());
//发送数据
out.write(Data);
//刷新缓存数据
out.flush();
//判断是否发送成功
if(conn.getResponseCode()==200) {
//BufferedReader 用于查看返回数据的实例化输出变换
BufferedReader Ne = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String Sen="空";
String Sew="";
//循环 注意:此处Ne.readLine()用一次便是一行
/*
* 之前这么写的
* while(Ne.readLine!=null){
* System.out.printf(readLine());
* }
*
*
* 结果发现不行,因为循环的时候执行过一次readLine函数
* 在输出的时候就是下一行了 而不是循环时判断的那一行
*/
while ((Sen=Ne.readLine()) != null) {
Sew += Sen;
}
//调试输出Sew
System.out.println(Sew);
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
每天坚持学习,欢迎指点纠正错误!