在Android应用中访问Web中的响应标头和状态代码?

时间:2015-05-20 16:00:27

标签: android webview xamarin

如何在Android应用中访问网络中的响应标头和状态代码(以及我知道如何获取的Cookie)?

在我们的应用程序中,我需要通过Web登录访问这些数据以进行自定义身份验证,类似于OAuth但也需要标题等。这是我理所当然的事情,因为我以前在其他平台上没有问题,但不是Android系统。为了完成,我通过Xamarin包装库完成所有这些。

我最接近的方式是来自这个问题: Python’s super() considered super! ...但是它已经4年了,手动拦截可能对我们不起作用,因为我们只使用URL。我也考虑提示浏览器,但它似乎提供更少的控制。

有没有办法在Android中实现这一目标?

1 个答案:

答案 0 :(得分:0)

WebView不提供对响应标头和HTTP状态代码的访问。您必须使用HTTP客户端

 private readonly HttpClient client;
 client = new HttpClient();

 private const string Url = "Your Base Url";
 client.BaseAddress = new Uri(Url);

 var response = await client.GetAsync(string.Format("Your Request Url"));
        response.EnsureSuccessStatusCode();

        var header = response.Headers;
        var statusCode = response.StatusCode;
        var requestMessage = response.RequestMessage;

因此,从响应对象中,您可以获得响应Header,StatusCode和所有其他