如何确定 HttpClient 响应的准确性?
Posted
技术标签:
【中文标题】如何确定 HttpClient 响应的准确性?【英文标题】:How to be sure of the accuracy of HttpClient response? 【发布时间】:2013-05-20 12:10:02 【问题描述】:请告诉我确定 HttpClient 响应的更好技巧是什么,例如,如果我们通过 HttpClient 进行登录,我们需要告诉用户他的登录操作成功或失败。
提前谢谢你!
PS.:我不需要只知道响应 Http 状态,我需要确保响应后我在正确的页面中,例如:login.php ==> home.php,如果我发布我的请求到login.php,如何确定我现在是在hom.php(登录成功)还是一直停留在login.php(登录失败)
【问题讨论】:
查找 Http 状态码 【参考方案1】:HttpClient.execute()
将返回一个HttpResponse
HttpResponse.getStatusLine().getStatusCode()
会给你一个int
形式的 HTTP 响应代码。
见:http://developer.android.com/reference/org/apache/http/client/HttpClient.html http://developer.android.com/reference/org/apache/http/HttpResponse.html http://developer.android.com/reference/org/apache/http/StatusLine.html
编辑以从下面的 cmets 添加:
您没有使用网络浏览器。您要“在另一个页面上”的唯一方法是,如果您收到 302
重定向,然后发送对另一个页面的请求。在这种情况下......你知道你有哪个页面。
如果 PHP 登录脚本完全损坏并且根据您是否登录仅返回两个不同的页面,那么您只能靠自己了。分析响应并希望最好。如果是这种情况,响应中很可能会有 cookie 或自定义标头,您将不得不寻找它。
【讨论】:
我知道这一点,我需要确保在响应后我在正确的页面中,例如:login.php ==> home.php,如果我将我的请求发布到 login.php,如何我可以确定我现在在 hom.php 中(登录成功)还是一直留在 login.php 中(登录失败) 嗯,你没有使用网络浏览器。您要“在另一个页面上”的唯一方法是如果您收到302
重定向,然后发送对另一个页面的请求。除非 PHP 登录脚本完全损坏,并且根据您是否登录而仅返回两个不同的页面,在这种情况下……您只能靠自己了。分析响应并希望最好。也许您需要寻找 cookie?
但是您没有发布您的评论作为答案让我接受它,解决方案在您的评论中而不是在您的答案中!请将其发布为答案,以便我可以为其他人接受!以上是关于如何确定 HttpClient 响应的准确性?的主要内容,如果未能解决你的问题,请参考以下文章
如何确定一个404响应状态使用时,httpclient.getasync