ブラウザーが http サーバーに送信するものを確認するプログラムを Java で作成しました。プログラムは次のテキストに注目しました(名前を付けましょうTEXT_BROWSER
)
GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
今、私は"TEXT_BROWSER"
任意のウェブサイト(グーグル、ルーター(192.168.1.1))に送信する別のプログラムを作成しましたが、応答がありませんでした(サーバーからのテキストはありません)。プログラムのエラーを知りたいです。
私のJavaプログラム
//1streqbybrowser.txt contains TEXT_BROWSER<br/>
import java.net.*;
import java.io.*;
class TCPClient
{
public static void main(String argv[]) throws Exception
{
String sentence;
File f=new File("1streqbybrowser.txt");
FileReader fr=new FileReader(f);
BufferedReader br=new BufferedReader(fr);
Socket clientSocket = new Socket("192.168.1.1", 80);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
while((sentence = br.readLine())!=null)
outToServer.writeBytes(sentence+"\n");
System.out.println("Sending finished");
while((sentence = inFromServer.readLine())!=null)
System.out.println(sentence);
clientSocket.close();
}
}
編集
TEXT_BROWSER の 2 行目をルーター (192.168.1.1) に送信するように変更しHost: localhost
ましHost: 192.168.1.10
たが、まだ応答がありません
@andremoniy
が述べたように変更を行いましたが、TEXT_BROWSER の ast 行のみがサーバーに送信され、何かが受信されました。 2回目のループが終わらない
>GET / HTTP/1.1
< HTTP/1.1 400 Bad Request
< Content-Length: 0
< Server: RomPager/4.07 UPnP/1.0
< EXT:
<
内部ループがここで終わらないことに気付きました。
何が原因でしょうか?