62,614
社区成员
发帖
与我相关
我的任务
分享
package com.yix.ctrl.server;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class RequestKeeper {
private static final String LOCALHOST = "localhost";
private static final String BAIDU = "www.baidu.com";
public static void main(String[] args){
String postData = "method=keep&type=server";
postData(postData,BAIDU,80);
}
public static void postData(String postData,String server,int port){
try {
StringBuffer head = new StringBuffer("POST /YControl/index HTTP/1.1\r\n");
head.append("Host: "+server+"\r\n");
head.append("Accept: text/html\r\n");
head.append("Connection: Close\r\n");
head.append("Content-Length: "+postData.length()+"\r\n");
head.append("Content-Type: application/x-www-form-urlencoded\r\n");
head.append("User-Agent: JAVA\r\n");
head.append("\r\n");
head.append(postData);
Socket serverSocket = new Socket();
//只要使用bind立刻报SocketException:Invalid argument or cannot assign requested address
serverSocket.bind(new InetSocketAddress(InetAddress.getLocalHost(),10101));
serverSocket.connect(new InetSocketAddress(InetAddress.getByName(server),port));
// Socket serverSocket = new Socket(server,port,InetAddress.getByName("127.0.0.1"),10101);
// Socket serverSocket = new Socket(server,port);
PrintWriter pw = new PrintWriter(serverSocket.getOutputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(serverSocket.getInputStream()));
pw.write(head.toString());
pw.flush();
String line = "";
while((line=reader.readLine())!=null){
System.out.println(line);
}
pw.close();
reader.close();
serverSocket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}