0

curl を使用して URL を開きます。いくつかの URL で機能する場合。しかし、ほとんどの場合、エラーレポートが表示されます。ブラウザで同じ URL を開くと、正常に動作します。ブラウザーと curl コマンドの両方の出力は同じはずですが、そうではありません。理由は何でしょうか?

$ curl 'http://server:port/ABC_Service/app'
<html><head><title>VMware vFabric tc Runtime 2.6.4.RELEASE/6.0.35.A.RELEASE - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 401 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>This request requires HTTP authentication ().</u></p><HR size="1" noshade="noshade"><h3>VMware vFabric tc Runtime 2.6.4.RELEASE/6.0.35.A.RELEASE</h3></body></html>

期待される出力:

$ curl 'http://server:port/ABC_Service/app'
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 

ブラウザでの出力 (最初の 2 行):

  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
- <appMetadata>
4

2 に答える 2

0

ブラウザーは、XML をインタラクティブに表示するのに役立ちます。ソースの表示を使用して、実際の応答を確認します。

于 2013-07-29T15:46:36.223 に答える
-1

多くの Web サイトは、ブラウザーが XML/XSLT をサポートできるかどうかを検出しようとします。ユーザーエージェントがそれをサポートしていることがわかっている場合、彼らはあなたが見ているものを送ります。そうでない場合は、通常の HTML を送信します (この場合、 HTML のエラー)。

ユーザーエージェントを設定してみてください:

curl -A "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5" http://server:port/ABC_Service/app

ここで、さまざまなデバイス/プログラムからのユーザー エージェント文字列のリストを見つけることができます

于 2013-05-31T13:57:26.567 に答える