?? webhttpclient.java
字號:
package chapter2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
import java.net.UnknownHostException;
public class WebHttpClient {
public static void main(String[] args) throws IOException {
try {
// 生成下載對象
URL url = new URL("http://www.bnu.edu.cn");
// 創(chuàng)建代理服務器
InetSocketAddress addr = new InetSocketAddress("172.17.18.84",
8080);
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http 代理
// 如果我們知道代理server的名字, 可以直接使用
// 結(jié)束
URLConnection conn = url.openConnection(proxy);
InputStream in = conn.getInputStream();
//conn.setDoOutput(true);
//OutputStream out = conn.getOutputStream();
//Socket webclient = new Socket("bnu.edu.cn",80);
//URL url = new URL("http://bnu.edu.cn:80");
//PrintWriter result = new PrintWriter(webclient.getOutputStream(), true);
//PrintWriter result = new PrintWriter(out, true);
//BufferedReader receiver = new BufferedReader(new InputStreamReader(webclient.getInputStream()));
BufferedReader receiver = new BufferedReader(new InputStreamReader(in));
//發(fā)送HTTP request請求
/* result.println("GET / HTTP/1.1");
result.println("Host: bnu.edu.cn");
result.println("Connection: Close");
result.println();*/
//接收HTTP Response 返回的結(jié)果信息
boolean bRet = true;
StringBuffer sb = new StringBuffer(8096);
while (bRet) {
if (receiver.ready()) {
int idx = 0;
while (idx != -1) {
idx = receiver.read();
sb.append((char) idx);
}
bRet = false;
}
}
// 顯示獲得的網(wǎng)頁正文,打印到控制臺
System.out.println(sb.toString());
//webclient.close();
} catch (UnknownHostException e) {
e.printStackTrace();
System.err.println("無法訪問指定主機.");
System.exit(1);
} catch (IOException e) {
e.printStackTrace();
System.err.println("下載失敗,請檢查輸入地址是否正確。");
System.exit(1);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -