telnet メカニズムを使用して、http 要求をサーバーに送信し、応答を取得しています。HTTP GET リクエストの送信に telnet を使用しているときに、奇妙なことに気付きました。最初の方法はほとんどの環境で機能しますが、環境の 1 つでは機能しません。しかし、2 番目の方法 (相対パスではなく完全パスを使用) は、この環境では正常に機能しています。
**
- 方法1:
**
(printf "GET /test.jsp HTTP/1.0\nAccept: */*\nUser-Agent: WatchDog\n\n"; sleep 9) | telnet xx.xx.xx.xx 8093 Trying xx.xxx.xx.xx... xx.xx.xx.xx に接続しました。エスケープ文字は「^]」です。
接続は外部ホストによって閉じられました。
**
- 方法 2:
**
(printf "GET http://xx.xx.xx.xx:8093/test.jsp HTTP/1.0\nAccept: */*\nUser-Agent: WatchDog\n\n"; sleep 9) | telnet xx.xx.xx.xx 8093
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=91643475E80038EA8770CE6803EE320C; Path=/
Content-Type: text/html;charset=UTF-8
Content-Language: zh-US
Content-Length: 42
Date: Mon, 03 Dec 2012 04:25:09 GMT
Connection: close
The Server is Running
Connection closed by foreign host.
method1 が 1 つの環境だけで実行されないのはなぜですか? その環境で何かを確認する必要がありますか?
Plsはあなたの提案をしてください...
ありがとう、セカール