public static void main(String args[])
{
try{
URL url=new URL("http://www.csdn.net");
Socket socket=new Socket(url.getHost(),80);
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(socket.getOutputStream());
StringBuffer sb=new StringBuffer();
out.println("GET "+url.getFile()+" HTTP/1.1\r\n");
out.println("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, */* \r\n");
out.println("Accept-Language: zh-cn\r\n");
out.println("deflateUser-Agent: Mozilla/4.0\r\n");
out.println("Connection: Keep-Alive\r\n");
out.println("Host:"+url.getHost()+"\r\n");
out.println("Connection: close \r\n\r\n");
out.flush();
String str="html";
String html="";
while(!str.equals(""))
{
str=in.readLine();
html=html+str;
}
System.out.println(html);
socket.close();
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
{
try{
URL url=new URL("http://www.csdn.net");
Socket socket=new Socket(url.getHost(),80);
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(socket.getOutputStream());
StringBuffer sb=new StringBuffer();
out.println("GET "+url.getFile()+" HTTP/1.1\r\n");
out.println("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, */* \r\n");
out.println("Accept-Language: zh-cn\r\n");
out.println("deflateUser-Agent: Mozilla/4.0\r\n");
out.println("Connection: Keep-Alive\r\n");
out.println("Host:"+url.getHost()+"\r\n");
out.println("Connection: close \r\n\r\n");
out.flush();
String str="html";
String html="";
while(!str.equals(""))
{
str=in.readLine();
html=html+str;
}
System.out.println(html);
socket.close();
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
我感觉能这么用吗?
两者是一个概念吗?
telnet 是Internet的一个服务,你用Socket连接是不是一个概念啊?
String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
// Create a socket to the host
String hostname = "www.csdn.net";
int port = 80;
InetAddress addr = InetAddress.getByName(hostname);
Socket socket = new Socket(addr, port);
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
wr.write("GET / HTTP/1.0\r\n\r\n");
wr.flush();
// Get response
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
System.out.println(line);
}
wr.close();
rd.close();
socket.close();
}
out.println("GET "+url.getFile()+" HTTP/1.1\r\n");
改成
out.println("GET /"+url.getFile()+" HTTP/1.1");
maquan('ma:kju)我照你的方法修改还是不行,发生 Connection reset 异常!