0

如何使用 telnet 从以下网站获取 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. 添加主机头字段(“主机:www.musicbrainz.org”)

(有关示例消息,请参阅https://greenbytes.de/tech/webdav/rfc7230.html#operation )

于 2013-07-28T09:32:33.920 回答
2

您可以使用wget,而不是使用带有“查询”的 telnet :

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