0

telnet を使用して、次の Web サイトから xml コンテンツを取得するにはどうすればよいですか。

http://www.musicbrainz.org/ws/2/artist/?query=artist:fred

これは私が試したものです:

telnet www.musicbrainz.org 80
GET /ws/2/artist/?query=artist:fred

これは私が得るものです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB" lang="en-GB">
  <head>
    <title>403 Forbidden</title>
    <link rel="stylesheet" href="/.proxy/httperror.css" type="text/css" />
  </head>
  <body>
    <div id="bg">
      <img src="/.proxy/MusicBrainzLogo-stop.png" />
    </div>
    <h1>Forbidden</h1>
    <p>Nothing for you to see here.&nbsp; Please move along.</p>
    <p id="http">403 Forbidden</p>
  </body>
</html>
Connection closed by foreign host.

これは、コンテンツの取得が許可されていないということですか、それとも何か間違ったことをしているということですか?

4

2 に答える 2

2
  1. リクエスト行に「HTTP/1.1」を追加

  2. クエリのスペルミスを修正する

  3. ホストヘッダーフィールドを追加 ("host: www.musicbrainz.org")

(メッセージの例については、 https://greenbytes.de/tech/webdav/rfc7230.html#operationを参照してください)

于 2013-07-28T09:32:33.920 に答える
2

「クエリ」で telnet を使用する代わりに、 wgetを使用できます。

wget --output-document=fred.xml http://www.musicbrainz.org/ws/2/artist/?query=artist:fred
于 2013-07-28T09:36:31.877 に答える