现在的位置: 首页 > 综合 > 正文

get请求走wap的多次302原因和cookie有关

2013年09月19日 ⁄ 综合 ⁄ 共 668字 ⁄ 字号 评论关闭

通过抓包发现访问成功的时候请求头的cookie值有两个,就是第一次请求时返回头里面的两个Set-Cookie, 以前代码是httpURLConnection.getHeaderField("Set-Cookie"),只能获取到最后一个Set-Cookie的值,现在改成

    String cookieVal = null;
    String key = null;
    for (int i = 1; (key = httpURLConnection.getHeaderFieldKey(i)) != null; i++) {
     if (key.equalsIgnoreCase("set-cookie")) {
      cookieVal = httpURLConnection.getHeaderField(i);
      cookieVal = cookieVal.substring(0,
        cookieVal.indexOf(";"));
      cookies = cookies + cookieVal + ";";
     }
    }
    cookie = cookies;

每次访问都加cookie,就成功访问了,并且得到页面的内容;只不过,抓包信息里面是第四次才在请求头加上cookie,现在也不管那么多原因了,望知情的同学不吝告知。

 

还有一种没有cookie,程序处理就是无限多次302,现在还没解决,郁闷ing……这种连接还时好时坏,uc能正常访问,每次我都没跟完,就好了,现在只好预先处理多次302就continue了,同时把该连接写文件。

抱歉!评论已关闭.