httpclient包使用的问题

这是我的代码:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;

public class CatchWeb {
static HttpClient client = new HttpClient();

public static void main(String[] args) {
     Init();
}


private static void Init() {
getImage("【我的账号】","【我的密码】");
}

private static void getImage(String name_get, String password_get) {
/**获取验证码图片*/
    GetMethod get = new GetMethod("http://jwxt.gcu.edu.cn/CheckCode.aspx");
    try {
        client.executeMethod(get);
        File storeFile = new File("D:/verifycode.jpg");
        InputStream is = get.getResponseBodyAsStream();
        FileOutputStream fos = new FileOutputStream(storeFile);
        byte[] b = new byte[1024];
        while ((is.read(b)) != -1) {
            fos.write(b);
        }
        is.close();
        fos.close();
        String codeVal = getCode();
        System.out.println(codeVal);
        postRequest(name_get, password_get, codeVal);

    } catch (IOException e) {
        e.printStackTrace();
    }
}

private static void postRequest(String name_data, String password_data,String code) {
    PostMethod postMethod = new PostMethod("http://jwxt.gcu.edu.cn/default2.aspx");
    NameValuePair[] data = { 
    new NameValuePair("__VIEWSTATE", "dDwyODE2NTM0OTg7Oz7c6+5UiE0x3F6KGVy0J/g7vA1NIQ=="),
            new NameValuePair("txtUserName", name_data),
            new NameValuePair("TextBox2", password_data),
            new NameValuePair("txtSecretCode", code),
            new NameValuePair("RadioButtonList1", "学生"),
            new NameValuePair("Button1", "")
    };
    postMethod.setRequestBody(data);
    try {
    client.executeMethod(postMethod);
        String text = postMethod.getResponseBodyAsString();
        System.out.println(text);
        if (text.contains("验证码不正确")) {
            System.out.println("验证码不正确");
        }
        else if(text.contains("密码错误")){
            System.out.println("密码错误");
        }
        else{
        System.out.println("登录成功");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

private static String getCode() {
    String valCode = "dny4";
    String path = "d://verifycode.jpg";
    Scanner sca=new Scanner(System.in);
    valCode=sca.next();
    return valCode;
}

}

输出结果:

当输入错误密码时会提示密码错误,请问为什么输入正确时就提示如图信息 信息: Redirect requested but followRedirects is disabled

0

2个回答

1

登录成功了么 调用下登录之后的页面是否有鉴权问题
2.用下httpclint最新的方法吧 http://blog.csdn.net/zy841958835/article/details/77992435

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android中使用HttpClient导包的问题
最近学习使用HttpClient,可是发现并没有可支持的包,上网搜了一下,Android4.0之后已经没有了HttpClient。如果要用,在build.gradle中的android  {compileSdkVersion 23 buildToolsVersion "23.0.2"} 加上useLibrary 'org.apache.http.legacy'即可,同时lib
httpclient包重复导致版本冲突
  这两天经理给了一个注册的功能要我写,就是要校验身份,实现实名认证。在导入所需jar包之后,调用阿里云的一个接口,很快实现了功能,本地测试完成之后,部署到线上,可是,很不幸,并没有如愿实现。很疑惑,并不是什么复杂的功能,也没多复杂的代码,想了下,也就调用阿里云接口发送https请求可能出问题了。打印问题,果然锁定就是发送请求出现了问题,并没有成功进行连接。问题找到了,可没什么呢?还是不懂,这下果...
关于httpClient系列包找不到问题
好久没更新博客了,最近在学习视频的知识遇到瓶颈了。。。。。。昨天有个网友问了我这么一个问题:他之前的过程里面是有httpClient系列的jar包,但是当他升级到最新的studio在编译时报了没有找到httpClient系列包的问题。我提供的解决办法是:删除libs下的httpClinet系列的jar包,然后,看下面: 这样添加依赖就可以了。这么做的原因是studio不在支持ht
HttpClient类包基本使用方法
HttpClient类包基本使用方法 1.1Get与Post: HttpClient类包主要目标是发送和接收报文,即HttpGet和HttpPost 1.2使用HttpGet时共分为7步: A. 创建HttpClient对象,由于HttpClient是抽象类,所以一般使用DefaultHttpClient类 B.创建一个HttpGet对象,一般可传入url参数将其初始
使用HttpClient必须的jar包
使用HttpClient必须的jar包 使用HttpClient必须的jar包 使用HttpClient必须的jar包
HttpClient 需要的JAR包和例子
附件包含一个根据身份证号码调用必应接口返回个人身份证信息的例子,有JAR包和代码例子,可以直接拿来使用。
Httpclient使用jar包三合一,基本使用方法
Http协议使用封装jar包(commons-codec-1.3.jar、commons-httpclient-3.1.jar、commons-logging-1.1.jar) 简单使用方法: public static void main(String[] args) { // String str1 = "http://dev.d-smart.cn/Login"; // http协议路径 String str1 = ""; HttpClient httpClient = new HttpClient(); PostMethod method = new PostMethod(str1); try { // 需要添加的header数据 List<Header> headers = new ArrayList<Header>(); headers.add(new Header("", "")); headers.add(new Header("", "")); headers.add(new Header("", "")); httpClient.getHostConfiguration().getParams().setParameter("http.default-headers", headers); method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler()); // 需要添加的body数据 Part[] parts = {new StringPart("", "")}; method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams())); ... ... ... ...
导入HttpClient类库
右键Module - Open Module Settings - Dependencies, 找到"+"按钮,选择Library dependency,弹出对话框, 输入org.apache.http.client 点击搜索,确认加入即可
Android Studio中添加对HttpClient的支持包
sdk6.0以后取消了HttpClient,设置android SDK的编译版本为23时,且使用了httpClient相关类的库项目,会出现有一些类找不到的错误。 解决方法有两种: 1.在相应的module下的build.gradle中加入: useLibrary 'org.apache.http.legacy' 这条语句一定要加在 android{ } 当中。 如: android
httpclient需要的各种jar包
给自己记录一下httpclient需要的各种jar包commons-codec-1.7.jarcommons-httpclient.jarcommons-logging-1.1.1.jarhttpclient-4.2.2.jarhttpcore-4.2.2.jar--------------------------------------------------------------------...
HTTPClient找不到包的问题
在最新版的android-studio2.1中,可以直接搜索到这个包 File——Project Structure,在弹出框中左侧选择你的项目(一般是“app”),在界面右侧选择Dependencies选项卡,点击右侧绿色“+”号,选择Library,在弹出的搜索框中输入“org.apache.http”,然后enter搜索,会看到这个包的,选中后添加即可
httpclient工具包的https方式的使用
一.引入工具包 ​ org.apache.httpcomponents httpclient 4.3.5 org.apache.httpcomponents httpcore 4.4 org.apache
android httpClient所需jar包
android应用开发 httpClient所需jar包 和调用webservice 工具ksoap2 jar 包
httpclient以及依赖的jar包
httpClient包提供了网络处理的apis,这里包含httpClient用到的jar包,commons-httpclient,commons-logging,commons-codec导进去就可以了
android客户端学习-Android Studio中添加对HttpClient的支持包
在相应的module下的build.gradle中加入: useLibrary 'org.apache.http.legacy' 这条语句一定要加在 android{ } 当中。 然后rebulid 如: android { useLibrary 'org.apache.http.legacy' }  ...
HttpClient框架所需的jar包和一个简单实例
HttpClient框架所需的jar包和一个简单实例, HttpClient框架所需的jar包和一个简单实例
httpclient-4.5使用需要的所有jar包
httpclient-4.5所需jar包,里面包含httpclient-4.5.jar等等10个必须的开发包
导入httpClient.jar包遇到的坑
错误日志:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: D
HttpClient发送http请求需要的jar包+使用教程+详解 我在
package test.utils; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons...
HttpClient4.5 简单入门实例
一、所需要的jar包    httpclient-4.5.jar    httpcore-4.4.1.jar    httpmime-4.5.jar 二、实例 Java代码   package cn.tzz.apache.httpclient;         import java.io.File;   import java.io.IOE
HttpClent通信jar包
java使用的HttpClient,远程接口通信jar包,亲测可用解决代码http包报错问题
java请求API中httpclient 使用jar包
httpcomponents-client-4.5.5-bin.ziphttpcomponents-client-4.5.5-bin.ziphttpcomponents-client-4.5.5-bin.ziphttpcomponents-client-4.5.5-bin.ziphttpcomponents-client-4.5.5-bin.zip
HttpClient所需jar包(共计10个)
commons-logging-1.2.jar commons-codec-1.9.jar fluent-hc-4.5.jar httpclient-4.5.jar httpclient-cache-4.5.jar httpclient-win-4.5.jar httpcore-4.4.1.jar httpmime-4.5.jar jna-4.1.0.jar jna-platform-4.1.0.jar
切记,java也有包依赖,使用httpclient时的教训
千万不要忘记了!!!!这个linux下面悲催的东西!
HttpClient简单请求和session的保持
HttpClient是一个客户端的HTTP通信实现库,目标是发送和接受HTTP请求。HTTPClient维护cookies,session的保持在客户端就是cookie的体现。HttpClinet的session的保持有两种方式,一种是将HttpClient实例保存于web应用的session中,再次请求时取出,因为httpclient会维持cookies。另一种是再次请求时,将上次请求获取的co
HttpClient jar包(新旧版本)
本资源中包括新旧版本的HttpClient的jar包,主要包含httpclient-4.5.3.jar、commons-httpclient-3.1.jar、commons-codec-1.9.jar等总计12个jar包文件
Android HttpClient用到的jar包
Httpclient上传文件,非常有用的jar包 apache-mime4j-0.6.jar httpmime-4.0.jar
httpclientjar包
该文件主要是httpclient的几个java外库jar包,主要和我写的那篇爬虫博客相匹配,其实也是可以在官网上找到然后下载,但是比较麻烦,由于不能设置免费,所以设置1分。
Android_HttpClient_jar包
Android使用HttpClient发送请求、接收响应很简单,只要如下几步即可: Step1:创建HttpClient对象; Step2:如果需要发送GET请求,则创建HttpGet对象; 如果需要发送POST请求,则创建HttpPost对象; Step3:如果需要发送请求参数,则可调用HttpGet、HttpPost共同的setParams(HttpParams params)方法来添加请求参数;对于HttpPost对象而言,也可以调用setEntity(HttpEntity entity)方法来设置请求参数; Step4:调用HttpClient对象的execute(HttpUriRequest request)方法发送请求,执行该方法返回一个HttpResponse; Step5:调用HttpResponse的getAllHeader()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。
Android studio中完美解决找不到HttpClient类
HttpClient已经在API 23中删除,太古老了。。。几乎没人用,但是如果你接手一个非常古老的项目,导入Android studio中就会报错找不到HttpClient类,以下是解决方法: 在相应的module下的build.gradle中加入即可。 android { useLibrary 'org.apache.http.legacy' } ...
使用httpClient来访问带有ssl安全协议的代码
首先使用httpCLient.jar包来编写一个工具类:HTTPSSecureProtocolSocketFactory.javaimport java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.net.Soc...
httpclient JAR包下载地址
Apache client下载地址: http://hc.apache.org/downloads.cgi 
封装使用HttpClient客户端
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HttpClient提供非常方便而全面的API提供Http协议编程访问网络资源。 我的习惯是当我使用任何一个第三方工具或者一些开源框架编程的时候,我都会适当的做一些封装以尽量符合我的需求和使...
HttpClient初步使用方法
HttpClient简单使用 准备          Apache官网下载 HttpClient , 下不了的点击这里,下载完后解压取lib文件夹中jar包导入到项目中, 还需要导入commons-logging-1.2.jar包 在进行本例之前需要了解三个类          HttpClient  代表Http客户端 里面定义了很多http 请求执行行为
HttpClient(post)需要jar包
Http中post请求。用于httpclient发送json时所需要必备jar,资源共享。用于httpclient发送json时所需要必备jar,资源共享。用于httpclient发送json时所需要必备jar,资源共享
httpclient所有需要的jar包
commons-codec-1.9.jar,commons-logging-1.2.jar,fluent-hc-4.5.jar,httpclient-4.5.jar,httpclient-cache-4.5.jar,httpclient-win-4.5.jar,httpcore-4.4.1.jar,httpmime-4.5.jar
java爬虫之HttpClient的使用
一、简介    HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包。它实现了所有的HTTP方法(GET、POST、PUT、HEAD等),支持自动重定向,支持HTTPS协议,支持代理服务器等丰富的功能。二、基本的使用1、创建HttpClient实例    1.1 现在的网站,通常使用SSL证书来保...
HttpClient jar包
HttpClient 4.5.5 版本 ,HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。好评 。谢谢
使用HttpClient需要在build_gradle导入的
useLibrary 'org.apache.http.legacy'
AndroidStudio 导入HttpClient最简单的方法
转自:http://www.cnblogs.com/rwind/p/5469054.html Android开发使用AS是大势所趋的了,毕竟是谷歌的正统血脉,从刚开始的1.0到现在的1.4已经逐渐稳定,修复了很多Bug, 越来越人性化了。但是还是会出现或多或少的问题,今天想用HttpClient下载网络图片,却没有HttpClient以及相关的类,查询了一下发现原来- 在API 23中
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 python机器学习包