Apacheサーバーをテストしています。通常はx.x.x.x/directory/index.php
Firefoxで、次にhttpd/error_logs
とトラブルシューティング。
私の質問は、テストシステムにWebブラウザ(Chrome/Firefoxなど)がない場合はどうなりますか?端末から同等のテストを行うにはどうすればよいですか?私は試した ping x.x.x.x/directory/index.php
が、そのようには機能しません。
私の質問は、Chrome/Firefoxをオンにしていない場合はどうなりますか?端末から同等のテストを行うにはどうすればよいですか?
ping x.x.x.x/directory/index.php
を試しましたが、うまくいきません。
ping
を使用しても機能しません。 ping
が行うことは、ネットワークアドレスからICMPパケットを送受信することだけです。したがって、あなたの例では、実際に「ping」できるのはping x.x.x.x
だけで、残りのURL(/directory/index.php
)はping
を解決しようとしているため、wholeホスト名であるかのようにURL。エラーは次のようになります:
ping: cannot resolve x.x.x.x/directory/index.php: Unknown Host
しかし、あなたが探している特定のタイプのウェブサーバーのテスト/デバッグのために、私は通常 curl
を使用しますが、特に基本的な応答ヘッダーだけを返すcurl -I -L
を使用しますサーバーが配置する可能性のあるすべての場所のリダイレクトに従います。 -I
フラグはcurl
にヘッダーのみを表示するように指示し、-L
フラグはcurl
に発生したサーバーリダイレクトを追跡するよう指示します。
たとえば、curl -I -L
に対してこのgoogle.com
コマンドを実行すると、次のようになります。
curl -I -L google.com
次の応答ヘッダーが表示されます。
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Mon, 24 Aug 2015 02:16:32 GMT
Expires: Wed, 23 Sep 2015 02:16:32 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
HTTP/1.1 200 OK
Date: Mon, 24 Aug 2015 02:16:32 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Set-Cookie: PREF=ID=1111111111111111:FF=0:TM=1440382592:LM=1440382592:V=1:S=5ToXkoBHyK2BAjyf; expires=Thu, 31-Dec-2015 16:02:17 GMT; path=/; domain=.google.com
Set-Cookie: NID=70=VKM1D8HeCMlye1YjMDYSqPlyIpPHKkitAor--wiqYznamENfNig69ZBW5oBgIR7wOFzVaUB6i4WKj-tqa2WcqbOCeVTc0hB4xQWQzBxpNazPp_20dBiU4in0wIop8mhz; expires=Tue, 23-Feb-2016 02:16:32 GMT; path=/; domain=.google.com; HttpOnly
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding
2つのヘッダーが返されることに注意してください。
HTTP/1.1 301 Moved Permanently
HTTP/1.1 200 OK
これは、Apacheサーバーのテストだけでなく、デバッグにも役立ちます mod_rewrite
書き換えルールなど。
このcurl -I -L
メソッドは、ChromeまたはFirefoxのようなビジュアルブラウザを使用するよりもはるかに便利で効率的です。これらのプログラムは、コンテンツをキャッシュすることによって閲覧速度を最適化するように設計されているためです。つまり、 Apacheサーバーを1秒で調整しますが、キャッシュをクリアするか、ページを数回強制的にリロードしない限り、ビジュアルブラウザは必ずしも変更をすぐに表示するわけではありません。curl -I -L
は、サーバーの内容を正確に示します瞬間はあなたの要求に応じてやっています、それはまさにサーバー構成をデバッグするときにあなたが望む/必要とするものです。
必要なコマンドはcurl
またはwget
です(個人の好みによります)。これらのコマンドは、サーバーにHTTPリクエストを送信します。ページ全体のロードのシミュレーションには適していません(デフォルトでは、HTMLページが参照するアセットをロードせず、JavaScriptを実行したり、ページを操作したりすることはできません)が、あなたが進歩した何かを求めているようには聞こえません。したがって、curl
またはwget
はほぼ間違いなく正常に機能します。
@wombleは正しいです。ただし、curl
またはwget
がない場合は、telnetを使用できます。
telnet x.x.x.x 80
GET /directory/index.php HTTP/1.1
Host: x.x.x.x
次にヒット Enter もう一度(ヘッダーの終わりに)、生のHTMLを取得します。ヒットする必要があるかもしれません Ctrl+D (UNIX)または Ctrl+Z (Windows)サーバーがキープアライブを使用している場合に終了します。
OpenSSLを使用してGETリクエストを発行できます。
openssl s_client -quiet -connect cdn.sstatic.net:443 <<eof
GET /stackexchange/js/universal-login.js HTTP/1.1
Connection: close
Host: cdn.sstatic.net
eof
「HTTP/2」を使用することもできますが、一部のサーバー(github.comなど)ではサポートされていないので注意してください。
テキストベースのブラウザを使用することもできます。このオプションを使用すると、Webページをトラバースし、そのコンポーネントをさらにテストできます。たとえば、本格的なブラウザなので、フォームのようなものです。
lynx、またはその弟links、またはelinksを使用します。
実際にページを表示したい場合は、マイケルハンプトンの推奨事項の1つであるLynx
を使用することをお勧めします。 HTMLをレンダリングし、キーボードを介してページを操作できます。派手なアニメーションや写真を期待しないでください。 :)
Mac OS Xに含まれているものを含め、実質的にすべてのパッケージマネージャーから利用できます。