`

httpCore4.0 基础引

阅读更多

地址:http://hc.apache.org/httpcomponents-core/index.html

去这里下载httpClient 4.0.1 ,解压后找到examples文件夹,里面有很多示例,很简单。

贴一段自己写的discuz论坛发帖机的代码:

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.httpclient.HttpException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;


/**
 * 
 * @author xugang
 *
 */
public class TestHttpClient {

	/**
	 * @param args
	 * @throws IOException
	 * @throws HttpException
	 */
	public static void main(String[] args) throws Exception {
		
	String bbsUrl = "http://jxsj.bbs.xoyo.com";
	String url = bbsUrl + "/logging.php";
	DefaultHttpClient hc = new DefaultHttpClient();
	HttpPost httpost = new HttpPost(url);
	List <NameValuePair> nvps = new ArrayList <NameValuePair>();	//post参数
        nvps.add(new BasicNameValuePair("username", "***"));
        nvps.add(new BasicNameValuePair("password", "***"));
        nvps.add(new BasicNameValuePair("formhash", "***"));
        nvps.add(new BasicNameValuePair("questionid", "0"));
        nvps.add(new BasicNameValuePair("answer", ""));
        nvps.add(new BasicNameValuePair("cookietime", "315360000"));
        nvps.add(new BasicNameValuePair("loginmode", "normal"));
        nvps.add(new BasicNameValuePair("action", "login"));
        nvps.add(new BasicNameValuePair("loginsubmit", "true"));
        
        httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));	//把参数用utf-8编码
        HttpResponse response = hc.execute(httpost);
        HttpEntity entity = response.getEntity();						//获得HttpEntity
        System.out.println("Login form get: " + response.getStatusLine());
        //必须要对entity进行处理,否则用同一个httpClient访问其他地址时,会抛出异常。这里是销毁返回的content
        if (entity != null) {											
            entity.consumeContent();
        }        
        System.out.println("Initial set of cookies:");
        List<Cookie> cookies = hc.getCookieStore().getCookies();
        if (cookies.isEmpty()) {
            System.out.println("None");
        } else {
            for (int i = 0; i < cookies.size(); i++) {
                System.out.println("- " + cookies.get(i).toString());
            }
        }
        
        String geturl2 = "http://jxsj.bbs.xoyo.com/forumdisplay.php?fid=7079&page=1";
        HttpGet get = new HttpGet(geturl2);
        HttpResponse response2 = hc.execute(get);
        HttpEntity entity2 = response2.getEntity();
		//必须要对entity进行处理,否则用同一个httpClient访问其他地址时,会抛出异常。这里是读取返回的content,然后关闭流。
        InputStream is2 = entity2.getContent();
        BufferedReader br2 = new BufferedReader( new InputStreamReader(is2));
        String str2 ="";
        while( (str2 = br2.readLine())!= null ){
        	System.out.println(str2);
        }
        is2.close();
        br2.close();
        hc.getConnectionManager().shutdown();     //关闭这个httpclient

	}	
}
 

。。

分享到:
评论

相关推荐

    httpcore-4.0.jar

    总结,HTTPCore 4.0作为HttpClient的基础,提供了强大的HTTP协议处理能力。HttpClient在其之上构建,为开发者提供了更加便利的接口,降低了HTTP操作的复杂度。理解这两个库的协同工作,有助于我们更高效地编写网络...

    httpclient4.2+httpcore4.0.rar

    hiveserver2的jdbc调用时需要用到的两个包httpclient+httpcore. org.apache.http.*

    jakarta-httpcore-4.0-alpha2.jar

    jakarta-httpcore-4.0-alpha2.jar用于移动开发的包

    httpcore-4.0.1.jar

    httpclient开发必备,搞快下载httpcore-4.0.1.jar

    httpcore-4.0-beta1.jar

    httpcore-4.0-beta1.jarhttpcore-4.0-beta1.jarhttpcore-4.0-beta1.jarhttpcore-4.0-beta1.jarhttpcore-4.0-beta1.jar

    httpcore-4.0-alpha5.jar

    httpcore-4.0-alpha5.jar

    swift4.0基础教程

    这篇“Swift 4.0基础教程”旨在帮助初学者掌握Swift 4.0的关键概念,并利用Xcode 9.0这一最新的开发工具来创建iOS 11应用程序。 首先,Swift 4.0引入了对元组解包的增强,允许在单行赋值时为元组中的元素指定名字,...

    httpcore-4.4.4-API文档-中文版.zip

    赠送jar包:httpcore-4.4.4.jar; 赠送原API文档:httpcore-4.4.4-javadoc.jar; 赠送源代码:httpcore-4.4.4-sources.jar; 包含翻译后的API文档:httpcore-4.4.4-javadoc-API文档-中文(简体)版.zip 对应Maven...

    Bluetooth Core_V4.0 蓝牙4.0核心规范

    蓝牙4.0核心规范是蓝牙技术联盟(Bluetooth SIG)于2010年6月30日发布的蓝牙技术标准版本之一,它标志着蓝牙技术的一次重大更新。蓝牙技术最初由爱立信公司于1994年提出,目的是取代传统电缆,实现不同设备间的数据...

    httpcomponents-core-4.0-bin.zip

    《Apache HttpComponents Core 4.0:构建网络通信的基础》 Apache HttpComponents Core 4.0 是一个重要的Java库,它提供了对HTTP协议的强大支持,是开发者构建网络应用程序的基石。这个版本的发布,标志着...

    计算机行业周报:华为发布HMS Core4.0,将有望降低谷歌禁运影响.pdf

    HMS Core 4.0的发布正是为了应对GMS缺失带来的挑战,提升华为移动设备的竞争力。 HMS Core 4.0新增功能: HMS Core 4.0被华为公司寄予厚望,它不仅为全球开发者提供了一整套开放的应用、核心、能力和连接服务,还...

    framework_core_4.0.jar

    struts2 取session用的一个jar

    BT CORE 4.0

    标题与描述中的“BT CORE 4.0”指的是蓝牙核心规范4.0版本,这是蓝牙技术联盟(Bluetooth Special Interest Group, SIG)发布的蓝牙技术的重要更新。蓝牙技术是一种短距离无线通信技术,广泛应用于手机、电脑、耳机...

    计算机行业周报:华为发布HMS Core4.0,将有望降低谷歌禁运影响.zip

    计算机行业周报:华为发布HMS Core4.0,将有望降低谷歌禁运影响

    Core_V4.0.pdf

    从文档提供的部分文字内容来看,规范中包含了“Specification Volume 0 Master Table of Contents & Compliance Requirements Covered Core Package version: 4.0”,表明这份文档是蓝牙核心包版本4.0的主内容目录和...

    httpcore jar包

    `httpcore` 是一个由Apache软件基金会开发的Java库,它是Apache HttpClient项目的基础组件。这个jar包主要用于构建网络应用程序,尤其是处理HTTP协议的底层细节,如连接管理、请求和响应处理等。在Android环境中,...

    httpcore和 httpclient

    HttpCore是Apache HttpClient的基础,它提供了一套低级别的HTTP传输机制,包括连接管理、请求和响应处理等。HttpCore的主要职责是处理TCP/IP连接,包括连接的建立、保持和关闭,以及HTTP协议的解析。它还提供了非...

    httpcore-4.4.15-API文档-中文版.zip

    赠送jar包:httpcore-4.4.15.jar; 赠送原API文档:httpcore-4.4.15-javadoc.jar; 赠送源代码:httpcore-4.4.15-sources.jar; 赠送Maven依赖信息文件:httpcore-4.4.15.pom; 包含翻译后的API文档:...

    httpcore-4.4.14-API文档-中文版.zip

    赠送jar包:httpcore-4.4.14.jar; 赠送原API文档:httpcore-4.4.14-javadoc.jar; 赠送源代码:httpcore-4.4.14-sources.jar; 赠送Maven依赖信息文件:httpcore-4.4.14.pom; 包含翻译后的API文档:...

    httpcore教程(中文版).pdf

    HTTPCore是Apache基金会开发的一个开源项目,它是HTTP客户端和服务器端实现的基础,尤其在Java开发者中广泛应用。本教程针对中文用户,旨在帮助读者掌握HTTP协议的基本原理以及如何利用HTTPCore高效地构建网络应用。...

Global site tag (gtag.js) - Google Analytics