ByetHost 服务器使用 JSON 字符串传递 HTML 值“检查您的浏览器”
问题
尝试时在 Android 上解析 JSON 字符串,而是返回 HTML 值。这个突然的问题会影响 ByetHost 服务器上托管的所有页面,而其他服务器上托管的页面可以正常工作。
解决方案
该问题的出现是由于 ByetHost 服务器实现了testcookie-nginx-module 安全反机器人措施。该模块执行两步验证过程:
步骤解决 Android 应用程序的问题
从 Web 浏览器获取 Cookie 密钥:
在您应用的 HTTP 请求代码中添加 header下面包含“__test”cookie:
<code class="java">httpPost.addHeader("Cookie", "__test=THE_CONTENT_OF_YOUR_COOKIE_HERE; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");</code>
将“THE_CONTENT_OF_YOUR_COOKIE_HERE”替换为步骤 1 中获取的“content”值。
通过这些更改,Android 应用程序将包含“ __test" cookie 在其 HTTP 请求中,允许它从 ByetHost 服务器访问所需的 JSON 响应。
以上是为什么我的 Android 应用程序从 ByetHost 服务器接收 HTML 而不是 JSON?的详细内容。更多信息请关注PHP中文网其他相关文章!