Android - 如何处理重定向的Web请求

时间:2012-08-20 13:54:59

标签: php android api redirect httpwebrequest

我有一个处理get + post请求的API但是我有一个错误的报告,在公司网络后面连接的用户无法在我的应用程序中进行身份验证。

基本上发生的事情是用户向api发送post requst(用户名+密码),API以json结果响应

然而,网络正在塑造流量,以便通过Web服务器重定向初始请求,并使用这样的html消息进行响应;

<HTML>
<HEAD>
<TITLE> Web Authentication Redirect</TITLE><META http-equiv="Cache-control" content="no-cache">
<META http-equiv="Pragma" content="no-cache"><META http-equiv="Expires" content="-1"><META http-equiv="refresh" content="1; URL=https://wirelessauth.login.html?redirect=bla.co.uk/android/api/auth">
</HEAD>
</HTML>

这通常会将浏览器重定向到正确的页面但是在我的Android应用程序中我不知道如何处理这个问题?

这可能和泥一样清楚,但感谢你的帮助:)。

安迪

2 个答案:

答案 0 :(得分:0)

我认为最好的解决方案是与您的网络管理员协商重定向的例外,但是您可以尝试以此方式解决此问题:

  • 制作http帖子,如果您没有收到预期的错误或响应,请尝试使用loadDataWithBaseUrl在WebView中加载响应(不要使用loadData,它已损坏!)并让webview处理重定向。无需显示webview即可为您完成工作。使用webview回调拦截重定向后返回的任何响应或页面,并在webview外部进行适当的解析/处理。

答案 1 :(得分:0)

您设备上的无线连接未经过身份验证,或者互联网服务提供商无法正常工作。尝试浏览网页然后重试。