`
chenpenghui
  • 浏览: 38950 次
  • 性别: Icon_minigender_1
  • 来自: 台州
社区版块
存档分类
最新评论

httpclient重定向和post

    博客分类:
  • JAVA
阅读更多

有些登陆需要涉及到重定向

登录虾米音乐网的例子

httpclient4

public void login() throws Exception{
		HttpClient httpclient = new DefaultHttpClient();
		Properties prop = System.getProperties();   
	    // HTTP代理的IP设置   
	    prop.setProperty("http.proxyHost", "proxy.zj.*******.com");   
	    // HTTP代理的端口设置   
	    prop.setProperty("http.proxyPort", "8080");   
	    //这里也可以设置不需要使用代理的地址   
	    prop.setProperty("http.nonProxyHosts", "localhost|10.70.*.*");   
		HttpHost proxy = new HttpHost("proxy.zj.********.com", 8080, "http");
		httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);
		String url = "http://www.xiami.com/member/login";
		HttpPost post = new HttpPost(url);
		HttpClientParams.setCookiePolicy(httpclient.getParams(), CookiePolicy.BROWSER_COMPATIBILITY);
		List<NameValuePair> nvps = new ArrayList<NameValuePair>();
		nvps.add(new BasicNameValuePair("done", "http://www.xiami.com/"));
		nvps.add(new BasicNameValuePair("email", "s*****c@126.com"));
		nvps.add(new BasicNameValuePair("password", "1*****"));
		nvps.add(new BasicNameValuePair("submit", "登 录"));
		post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
		HttpResponse response = httpclient.execute(post);
		post.abort();
		System.out.println("返回码	 :"+response.getStatusLine().getStatusCode());
		if(response.getStatusLine().getStatusCode()== 302){
			String tmpString = getHeaderValue(response.getAllHeaders(), "Location");
			HttpGet get = new HttpGet(tmpString);
			HttpResponse response1 = httpclient.execute(get);
			System.out.println("返回码	 :"+response1.getStatusLine().getStatusCode());
		}
	}

 

分享到:
评论

相关推荐

    httpclient重定向之后获取网址信息示例

    当HttpClient发起一个GET或POST请求,如果服务器返回的状态码表明需要进行重定向(例如301、302),HttpClient会自动处理重定向,即它会自动发送新的请求到重定向的目标URL,并返回那个URL的响应内容。然而,如果...

    jsp 中HttpClient中的POST方法实例详解.docx

    在Web开发中,特别是使用JSP(Java Server Pages)进行服务器端编程时,经常需要通过HTTP客户端库(如HttpClient)来发起网络请求,包括GET和POST请求。其中,POST请求通常用于向服务器提交数据,例如用户表单数据的...

    HttpClient实现POST GET和文件下载

    接下来,我们将分别讲解HttpClient如何实现GET和POST请求: 1. GET请求: 使用HttpGet类创建GET请求,指定目标URL。例如: ```java HttpGet httpGet = new HttpGet("http://example.com"); CloseableHttpClient...

    httpclient.post例子

    通过`java_httpclient_post`这个文件名,我们可以推测其中可能包含了完整的示例代码或者相关教程,你可以参考这个文件来实践和学习HttpClient的POST请求使用。记住,实践是检验理论的最好方式,尝试运行这个例子,看...

    httpclient获取目标网站内容,get、post方式(可运行)

    接下来,我们来看如何使用HttpClient进行GET和POST操作。GET请求通常用于获取资源,而POST请求常用于提交数据。 1. **GET请求**: GET请求的基本流程是创建HttpClient对象,构建HttpGet对象,然后通过HttpClient...

    http请求工具类HttpClientUtil,get,post请求(csdn)————程序.pdf

    HttpClientUtil 是一个用于发送 HTTP 请求的工具类,主要支持 GET 和 POST 方法。它使用了 Apache HttpClient 库,这是一个强大的 Java 客户端编程工具包,用于处理 HTTP 协议。以下是对类中关键方法和概念的详细...

    httpClient httpPost httpGet 所需jar包

    以下是对HttpClient、HttpPost和HttpGet及其所需jar包的详细解释: 1. HttpClient库:HttpClient是一个开源项目,提供了丰富的API来执行HTTP请求。它可以处理各种HTTP特性,如重定向、cookies管理、认证、连接池等...

    httpclient4.5的JAR包

    《HttpClient 4.5:构建高效HTTP通信的基石》 HttpClient是Apache软件基金会的一个开源项目,主要用于处理HTTP请求和...通过理解并熟练掌握HttpClient 4.5的关键组件和用法,开发者可以提升网络应用的效率和可靠性。

    httpclient发送post请求.docx

    这里我们详细探讨一下如何使用`HttpClient`发送POST请求,以及这个过程中的关键知识点。 首先,我们创建一个`CloseableHttpClient`对象,这相当于在编程环境中模拟了一个浏览器。`HttpClients.createDefault()`方法...

    httpClient和URLConnection的区别

    它包括了所有HTTP方法,如GET、POST、PUT和HEAD,以及自动重定向、HTTPS支持和代理服务器配置。使用HttpClient时,通常需要遵循以下步骤: 1. 创建HttpClient实例。 2. 实例化HTTP方法,如PostMethod或GetMethod。 3...

    apache httpclient 源码和 jar包

    HttpClient的源码包含了大量类和接口,如`CloseableHttpClient`、`HttpGet`、`HttpPost`等,这些类用于构建和发送HTTP请求,处理响应。通过阅读源码,我们可以学习如何实现HTTP客户端的功能,如设置请求头、处理...

    httpClient4.3.6包和实例

    这些教程和文档通常会详细介绍如何初始化HttpClient,如何构造请求,如何处理响应,以及如何处理各种复杂情况,如重定向、异常处理、连接超时等。同时,它们也可能包含示例代码,帮助开发者更好地理解和应用...

    jsp 中HttpClient中的POST方法实例详解

    本文将深入探讨在JSP中如何使用HttpClient的POST方法进行网络通信,特别是针对登录和其他需要发送数据到服务器的操作。 首先,POST方法是HTTP协议中的一个重要概念,它的主要作用是向服务器发送数据,通常用于创建...

    httpclient

    HttpClient支持多种HTTP方法,如GET、POST、PUT、DELETE等,可以方便地进行HTTP头的设置,发送cookies,处理重定向,甚至实现HTTP/1.1和HTTP/2之间的平滑切换。此外,HttpClient还提供了对HTTPS的支持,确保数据传输...

    httpclient.jar包下载

    HttpClient库允许开发者执行各种HTTP方法(如GET、POST、PUT等),处理重定向、认证、cookie管理等复杂网络交互,同时提供了线程安全和高效的连接管理机制。这个库在处理Web服务API、爬虫程序或任何需要与HTTP服务器...

    httpclient jar

    三、使用HttpClient进行POST和GET 1. GET请求:通过HttpClient,我们可以轻松创建GET请求。首先,创建一个`HttpGet`对象,设置请求的URL,然后通过HttpClient的`execute()`方法发送请求并获取响应。例如: ```java...

    httpClient组合包.zip

    关于"post请求"和"传输文件"的标签,HttpClient提供了一套完整的解决方案。在POST请求中,使用HttpPost对象来指定请求URL,然后可以通过HttpEntityEnclosingRequestBase类的setEntity()方法添加请求实体,这个实体...

    httpclient-4.5.3官方API中文文档_最新译版_2886K

    例如,在Web服务API调用中,HttpClient可以方便地构造和发送GET、POST请求,获取并解析响应内容;在爬虫程序中,HttpClient可以处理登录、Cookie、重定向等复杂情况。 总结,HttpClient 4.5.3版本为开发者提供了...

    httpclient4.1.2 jar包

    2. **请求与响应处理**:HttpClient支持POST、GET等多种HTTP方法,可以设置请求头、携带实体数据,同时提供了HttpResponse对象来获取服务器响应状态、头信息和响应实体。 3. **重定向处理**:HttpClient可以自动...

Global site tag (gtag.js) - Google Analytics