七行プログラミング
■ このスレッドは過去ログ倉庫に格納されています
0756Javaさん
NGNGindex.htmlしか返せないのが
//D.java
import java.net.*;import java.io.*;class D extends Thread{OutputStream o;static
void main(String[] s)throws Exception{ServerSocket t=new ServerSocket(80);while(
true){new D(t.accept());}}D(Socket s)throws Exception{int q=s.getInputStream().
read();o=s.getOutputStream();start();}public void run(){try{BufferedReader f=
new BufferedReader(new FileReader("index.html"));o.write(("HTTP/1.1 200 OK\nCon"
+"tent-Type: text/html\n\n").getBytes());while(f.ready()){o.write((f.readLine()+
"\n").getBytes());}o.close();}catch(Exception e){}}}
こんなかんじ?
で、複数ファイル名対応にしようとすると7行の壁が,、、、
//同じくD.javaでスマソ
import java.net.*;import java.io.*;class D extends Thread{OutputStream o;String
v;static void main(String[] s)throws Exception{ServerSocket t=new ServerSocket
(80);while(true){new D(t.accept()).start();}}D(Socket s)throws Exception{o=s.
getOutputStream();v=new BufferedReader(new InputStreamReader(s.getInputStream())
).readLine();v=v.substring(v.indexOf(" ")+2,v.lastIndexOf("H")-1);if(v.endsWith(
"/"))v+="index.html";}public void run(){try{BufferedReader f=new BufferedReader(
new FileReader(v));while(f.ready()){o.write((f.readLine()+"\n").getBytes());}o.
close();}catch(Exception e){}}}
"HTTP/1.1 ..."等のレスポンスまで削ってもきつい。
等幅で見ると余裕がないのが見え見え。。。
しかもカレントより上のディレクトリにもアクセスできる、、、、w
#Javaは板違い?
■ このスレッドは過去ログ倉庫に格納されています