全部
这是一个很少发生的问题。事实上,我不得不花费大量时间来重现它,但无论如何它都在这里。
我正在使用 ASIHTTPRequest 从我的服务器获取一些数据。除了具有 responseStatusCode == 200 的那些之外,我会抛出任何错误。我的服务器返回一些消息。
我注意到的是,有时,根据我的无线连接(在笔记本电脑模拟器的使用情况下),需要身份验证的连接,ASIHttpRequest 返回 200 的响应,但 responseData 类似于以下内容,而不是来自我的服务器的消息
<HTML><HEAD><TITLE>Cisco Systems Inc. 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://webauth-redirect.oracle.com/login.html?redirect=17.22.111.222/scripts_dummy/messagesx.php"></HEAD></HTML>
它是否正确?如果未收到来自服务器的消息,则 responseStatusCode 不应为 200 以外的值
我该如何处理这种情况?检查 responseStatusCode == 200 后的意思似乎还不够好。这只是一个例子。在其他无线区域,打印出不同的垃圾。
更新 不确定这是否有任何作用,但我有
request.shouldUseRFC2616RedirectBehaviour = YES; // where request is ASIHTTPRequest