//start
import java.io.ioexception;
import java.net.inetsocketaddress;
import java.util.concurrent.executors;
import com.sun.net.httpserver.httphandler;
import com.sun.net.httpserver.httpserver;
public class httpdemo {
private httpserver ser ;
private int port=8080;
public httpdemo() {
// todo auto-generated constructor stub
try {
ser = httpserver.create(new inetsocketaddress(port), 0);
ser.createcontext("/",new datahandler());
ser.setexecutor(executors.newcachedthreadpool());
} catch (ioexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
}
public void work(){
ser.start();
system.out.println("my proxy server started!");
system.out.println("listing port :"+port);
public static void main(string[] args) {
new httpdemo().work();
}
//end
import java.io.outputstream;
import java.io.printwriter;
import java.net.uri;
import java.net.url;
import java.util.iterator;
import java.util.list;
import java.util.set;
import com.sun.corba.se.impl.encoding.codesetconversion.btcconverter;
import com.sun.net.httpserver.headers;
import com.sun.net.httpserver.httpexchange;
public class datahandler implements httphandler{
public void handle(httpexchange exchange) throws ioexception {
// todo auto-generated method stub
string method = exchange.getrequestmethod();
if (method.equalsignorecase("get")){
uri uri=exchange.getrequesturi();
string pro = exchange.getprotocol();
system.out.println("connect:");
headers respons = exchange.getresponseheaders();
respons.set("content-type", "text/html");
headers request = exchange.getrequestheaders();
string host=request.getfirst("host");
system.out.println(pro+host+uri);
set<string> keyset = request.keyset();
iterator<string> ite = keyset.iterator();
string info="";
while(ite.hasnext()){
string key = ite.next();
string val = request.getfirst(key);
string str = key+" == "+val+"\n";
system.out.printf(str);
info+=str;
}
string data="<html><head></head><body><h1>hello world</h1><div><pre>"+info+"</pre></div></body></html>";
exchange.sendresponseheaders(200, data.length());
outputstream out = exchange.getresponsebody();
out.write(data.getbytes());
out.close();