该网站正在根据它收到的 User-Agent 标头重定向您的 Android 程序。解决方法:在检索提要时发送桌面用户代理标头。查看http://www.useragentstring.com/pages/useragentstring.php以获取 User-Agent 标头的详尽列表。
根据您的评论 - 这是一个澄清。当浏览器连接到网络服务器时,它会在其标头中发送一个用户代理字符串。User-Agent 识别客户端请求,通常指定操作系统、它使用的浏览器版本等。
例如,运行 Android 的移动浏览器可能会将自己标识为:
User-Agent: Mozilla/5.0 (Linux; U; Android 2.2.1; en-ca; LG-P505R Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
而 Windows 8 上的桌面浏览器可能会发送如下内容:
User-Agent: Mozilla/6.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
请注意,在上面的示例中,User-Agent 包含有关操作系统以及发起请求的浏览器的版本和名称的信息。Web 服务器使用此信息来确定应提供哪些页面。
由于您在 Android 上的程序在请求提要时被重定向到移动页面,因此您在 Android 上用于生成请求的 API 很可能正在发送一个将其标识为移动设备的 User-Agent 字符串。
解决方法是覆盖在标头中发送的 User-Agent 字符串,以便网络服务器认为请求来自桌面系统。这就是我发布指向用户代理字符串列表的链接的原因 - 以便您可以选择和测试不同的设置。
总而言之 - 您不需要请求不同的 URL - 从与桌面版本相同的 URL 请求提要,但确保传递给网络服务器的标头中的 User-Agent 字符串将请求识别为来自桌面浏览器和不是移动版本,以避免被重定向到移动版本。