模拟登录正方教务系统重定向页面拿到的状态码为什么 总是200不是302

问题描述

模拟登录正方教务系统重定向页面拿到的状态码为什么 总是200不是302
  1. 请求代码
    List pairs = new ArrayList();
    pairs.add(new BasicNameValuePair("__VIEWSTATE", "dDwyODE2NTM0OTg7Oz5hS%2FqlazCCYK7Agp6rx5GFtdHxlg%3D%3D"));
    pairs.add(new BasicNameValuePair("txtUserName", username));
    pairs.add(new BasicNameValuePair("TextBox2", pass));
    pairs.add(new BasicNameValuePair("RadioButtonList1","%D1%A7%C9%FA"));//选择你是以什么身份进入%D1%A7%C9%FA
    pairs.add(new BasicNameValuePair("Button1", ""));
    pairs.add(new BasicNameValuePair("lbLanguage", ""));
    pairs.add(new BasicNameValuePair("hidPdrs", ""));
    pairs.add(new BasicNameValuePair("hidsc", ""));

    String info = "";
    try {
        //该网址对应教务系统输入学号密码登入的那个界面
        info = HttpUtil.postUrl("http://" + myUrl + "/default2.aspx",
                pairs, mHttpClient, "");
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    Log.i("tag", "info===="+info);
    
  2.  执行代码
    

    public static String postUrl(String url, List pairs,
    DefaultHttpClient httpClient, String setHeader)
    throws ClientProtocolException, IOException {

    HttpPost request = new HttpPost(url);
    request.setHeader("Referer", setHeader);
    httpClient.getParams().setParameter(
            CoreConnectionPNames.CONNECTION_TIMEOUT, 10000); // 设置请求超时时间
    httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
            10000); // 读取超时
    
    HttpResponse response = httpClient.execute(request);
    
    /*
     * 根本没走这个if
     */
    if(response.getStatusLine().getStatusCode() == 302||response.getStatusLine().getStatusCode() == 301){               //获取响应的cookie值
        String cookie = response.getFirstHeader("Set-Cookie").getValue();  //获取头部信息中Location的值
        String location = response.getFirstHeader("Location").getValue();
        return location;
    }else if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
        return EntityUtils.toString(response.getEntity());
    } else {
        return null;
    }
    

    }

  3. 抓包图片
  4. 有做过模拟登陆教务系统的大神看到这个问题能不能留个联系方式请教一下

解决方案

你是不是开了自动重定向
http://blog.csdn.net/memray/article/details/7998388

时间: 2024-10-20 15:36:35

模拟登录正方教务系统重定向页面拿到的状态码为什么 总是200不是302的相关文章

Java模拟登录正方教务抓取成绩、课表、空教室_java

本文实例为大家分享了Java模拟登录正方教务抓取成绩.课表.空教室等信息,供大家参考,具体内容如下 1.Jwgl.java package com.ican.yueban.jwgl; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import org.apache.http.Ht

PHP基于curl后台远程登录正方教务系统的方法_php技巧

本文实例讲述了PHP基于curl后台远程登录正方教务系统的方法.分享给大家供大家参考,具体如下: 从去年想这个事情怎么解决,今年终于算是把他搞清楚了,但验证码必须要填. 如果你能像360抢票哪有自动识别验证码,那就没事了.废话不多扯了.回归正题 这里要用CURL. 设计思路:先登录页面获取COOKIES,然后拿着cookies找服务器要验证码.最后提供服务器需要的全部信息. (这种思维是完全模拟游览器访问页面,根本区别出来是人还机器) public function index(){ $ch =

模拟登陆正方教务系统时,需要拿到一个location值,有人拿到过吗

问题描述 模拟登陆正方教务系统时,需要拿到一个location值,有人拿到过吗 模拟登陆正方教务系统时,需要拿到一个location值,有人拿到过吗

PHP利用curl函数后台远程登录正方教务系统

从去年想这个事情怎么解决,今年终于算是把他搞清楚了,但验证码必须要填. 如果你能像360抢票哪有自动识别验证码,那就没事了.废话不多扯了.回归正题 这里要用CURL. 设计思路:先登录页面获取COOKIES,然后拿着cookies找服务器要验证码.最后提供服务器需要的全部信息. (这种思维是完全模拟游览器访问页面,根本区别出来是人还机器)  代码如下 复制代码 public function index(){   $ch = curl_init();   curl_setopt($ch, CUR

Nginx定义404页面并返回404状态码

WebServer是nginx,直接告诉我应该他们配置了nginx的404错误页面,虽然请求不存在的资源可以成功返回404页面,但返回状态码确是200. 404.html This is 404 page. 请求一个不存在的页面: ajax Code:  代码如下 复制代码 $.ajax({     url: "does_not_exist.html",     success : function(Response, textStatus){         console.log(

Nginx中定义404页面并且返回404状态码的正确方法_nginx

前几天,一朋友出程序出问题却怎么查都没看出问题,于是让我帮它看看.其实它是ajax请求了很多个模板,然后把模板写到页面中.关键是所有请求的页面都是200正常状态码返回,表面上看没什么问题,实际上有些请求虽然返回200状态码,但给回的状态码是200.WebServer是nginx,直接告诉我应该他们配置了nginx的404错误页面,虽然请求不存在的资源可以成功返回404页面,但返回状态码确是200. 404.html 复制代码 代码如下: This is 404 page. 请求一个不存在的页面:

php实现模拟登陆方正教务系统抓取课表

  这篇文章主要介绍了php实现模拟登陆方正教务系统抓取课表的相关资料,需要的朋友可以参考下 课程格子和超级课程表这两个应用,想必大学生都很熟悉,使用自己的学号和教务系统的密码,就可以将自己的课表导入,随时随地都可以在手机上查看. 其实稍微了解一点php的话,我们也可以做一个类似这样的web 应用. 1,解决掉验证码 其实这是正方的一个小bug,当我们进入登陆界面时,浏览器会去请求服务器,服务器会生成一个验证码图片.如果我们不去请求这个图片,那么正方后台也不会生成相应的 验证码,于是这样我们就有

php实现模拟登陆方正教务系统抓取课表_php技巧

课程格子和超级课程表这两个应用,想必大学生都很熟悉,使用自己的学号和教务系统的密码,就可以将自己的课表导入,随时随地都可以在手机上查看. 其实稍微了解一点php的话,我们也可以做一个类似这样的web 应用. 1,解决掉验证码 其实这是正方的一个小bug,当我们进入登陆界面时,浏览器会去请求服务器,服务器会生成一个验证码图片.如果我们不去请求这个图片,那么正方后台也不会生成相应的        验证码,于是这样我们就有了可乘之机,让我高兴会儿~这时,我们在不填写验证码的情况下,可以很流畅的进入.大

验证码-用php模拟登陆方正教务系统的问题

问题描述 用php模拟登陆方正教务系统的问题 获取验证码 <?php header('Content-Type:image/png');$authcode_url=""http://jwxt1.cumt.edu.cn/CheckCode.aspx"";$cookieFile=""cookie.tmp"";$ch = curl_init($authcode_url);curl_setopt($chCURLOPT_COOKI