【问题标题】:How to be sure of the accuracy of HttpClient response?如何确定 HttpClient 响应的准确性?
【发布时间】:2013-05-20 12:10:02
【问题描述】:

请告诉我确定 HttpClient 响应的更好技巧是什么,例如,如果我们通过 HttpClient 进行登录,我们需要告诉用户他的登录操作成功或失败。

提前谢谢你!

PS.:我不需要只知道响应 Http 状态,我需要确保响应后我在正确的页面中,例如:login.php ==> home.php,如果我发布我的请求到login.php,如何确定我现在是在hom.php(登录成功)还是一直停留在login.php(登录失败)

【问题讨论】:

  • 查找 Http 状态码

标签: java android httpclient apache-httpclient-4.x


【解决方案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?
  • 但是您没有发布您的评论作为答案让我接受它,解决方案在您的评论中而不是在您的答案中!请将其发布为答案,以便我可以为其他人接受!
猜你喜欢
  • 2010-09-24
  • 1970-01-01
  • 2013-03-13
  • 2017-05-03
  • 1970-01-01
  • 2019-06-09
  • 2013-12-24
  • 2010-09-28
  • 2010-11-14
相关资源
最近更新 更多