如何使用 Telnet 获取网页 xml 内容

Posted

技术标签:

【中文标题】如何使用 Telnet 获取网页 xml 内容【英文标题】:How to get web page xml content using Telnet 【发布时间】:2013-07-28 04:22:30 【问题描述】:

如何使用 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.

这是否意味着我不能检索内容或我做错了什么?

【问题讨论】:

【参考方案1】:

    将“HTTP/1.1”添加到请求行

    修复查询中的拼写错误

    添加主机头字段(“主机:www.musicbrainz.org”)

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

【讨论】:

【参考方案2】:

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

wget --output-document=fred.xml http://www.musicbrainz.org/ws/2/artist/?query=artist:fred

【讨论】:

以上是关于如何使用 Telnet 获取网页 xml 内容的主要内容,如果未能解决你的问题,请参考以下文章

如何使用ASP.Net发送HTTP请求并且获取返回的XML

Nodejs telnet 实时响应获取

如何用Dom4j获取CDATA结点内容

如何使用curl获取网页内容

如何使用Python从Excel中获取数据粘贴到网页,然后再获取网页内容

VB如何获取网页的内容