`

httpclient校内模拟登录CNKI

阅读更多
1.
HttpClient httpClient=new HttpClient();
		httpClient.getParams().setContentCharset("utf-8");
		PostMethod postMetho=new PostMethod("****//要提交的action");
		NameValuePair[] pairs=new NameValuePair[]{
			new NameValuePair("advancedvalue1","密码"),new NameValuePair("advancedfield1","主题"),new NameValuePair("advancedfrequency1",""),new NameValuePair("bCurYearTempDB","1"),
			new NameValuePair("yearstart","1999"),new NameValuePair("yearend","2010"),new NameValuePair("PublicationDate",""),
			new NameValuePair("drpDataBaseJump","/KNS50/Navigator.aspx?ID=1"),
			new NameValuePair("selectbox","A"),//选择理工A类
			new NameValuePair("selectbox","B"),new NameValuePair("RecordsPerPage","20"),new NameValuePair("order","dec"),
			new NameValuePair("searchmatch","0"),new NameValuePair("SearchRange","All"),new NameValuePair("ID","1"),new NameValuePair("hdnIsAll","false"),
			new NameValuePair("NaviField","专题子栏目代码"),new NameValuePair("NaviDatabaseName","ZJCLS"),new NameValuePair("systemno",""),
			new NameValuePair("hdnFathorCode","sysAll"),new NameValuePair("strNavigatorValue",",A,B,C,D,E,F,G,H,I,J"),new NameValuePair("strNavigatorName",",理工A(数学物理力学天地生),理工B(化学化工冶金环境矿业),理工C(机电航空交通水利建筑能源),农业,医药卫生,文史哲,政治军事与法律,教育与社会科学综合,电子技术及信息科学,经济与管理"),
			new NameValuePair("singleleafcode",""),new NameValuePair("searchAttachCondition",""),new NameValuePair("SearchQueryID",""),
			new NameValuePair("SearchFieldRelationDirectory","主题/[],篇名/[],题名/[],作者/[SYS_Author_Relevant],关键词[],第一责任人/[SYS_Author_Relevant],机构/[SYS_Organization_Relevant],摘要/[],引文/[],基金/[SYS_Fund_Relevant],全文/[]"),new NameValuePair("updateTempDB",""),new NameValuePair("bCurYearTempDB","1"),
			new NameValuePair("fieldnowordfrequency","关键词,作者,第一责任人,机构,中文刊名&英文刊名,年',期',基金,分类号',ISSN',CN',DOI'"),new NameValuePair("fieldtips","篇名/[在文献标题中检索。对该检索项的检索是按词进行的,请尽可能输入完整的词,以避免漏检。],关键词/[检索文献的关键词中满足检索条件的文献。对该检索项的检索是按词进行的,请尽可能输入完整的词,以避免漏检。],第一责任人/[请选择检索项并指定相应的检索词,选择排序方式、匹配模式、文献时间等限定条件,然后点击“检索”。],作者/[可输入作者完整姓名,或只输入连续的一部分。],机构/[可输入完整的机构名称,或只输入连续的一部分。],中文摘要/[对该检索项的检索是按词进行的,请尽可能输入完整的词,以避免漏检。],引文/[请选择检索项并指定相应的检索词,选择排序方式、匹配模式、文献时间等限定条件,然后点击“检索”。],全文/请选择检索项并指定相应的检索词,选择排序方式、匹配模式、文献时间等限定条件,然后点击“检索”。],基金/[检索受满足条件的基金资助的文献。],中文刊名/[请输入部分或全部刊名。],ISSN/[请输入完整的ISSN号。],年/[输入四位数字的年份。],期/[输入期刊的期号,如果不足两位数字,请在前面补“0”,如“08”。],主题/[主题包括篇名、关键词、中文摘要。可检索出这三项中任一项或多项满足指定检索条件的文献。对主题是按词检索的,请尽可能输入完整的词,以避免漏检。]"),
			new NameValuePair("TableType","PY"),new NameValuePair("display","chinese"),new NameValuePair("encode","gb"),new NameValuePair("TablePrefix","CJFD"),
			new NameValuePair("View","中国期刊全文数据库"),new NameValuePair("yearFieldName","年"),new NameValuePair("userright",""),new NameValuePair("VarNum","1"),
		
		};
		
		postMetho.setRequestBody(pairs);
		httpClient.executeMethod(postMetho);
		System.out.println(postMetho.getResponseBodyAsString());
		postMetho.releaseConnection();



2.第二个是在http://search.cnki.net/Default.aspx的首页检索。
看了下源码,关键在它的js文件中提交。而且用了URLEncoder进行了编码的转换。
主要用了String test = java.net.URLEncoder.encode("信息","utf-8");而且分析了下搜索的类型页面,,在用httpclient就可以了。比上面的容易实现些。
分享到:
评论

相关推荐

    java httpclient 模拟登录

    在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...

    HttpClient模拟登录实例

    在本实例中,我们将探讨如何使用HttpClient库来模拟登录网站,获取用户信息,以及处理带有验证码的登录场景。 首先,我们需要理解HttpClient的基本使用。HttpClient的核心类包括HttpClient本身,HttpGet、HttpPost...

    HttpClient4模拟登录回贴

    这篇博客“HttpClient4模拟登录回贴”显然探讨了如何利用HttpClient4库进行网络模拟登录以及在特定网站上发布帖子。HttpClient4适用于各种场景,如自动化测试、数据抓取等,它允许开发者构建复杂的HTTP交互逻辑。 ...

    httpclient模拟登录实例

    本篇文章将详细讲解如何使用HttpClient进行模拟登录操作,结合源码分析,帮助开发者深入理解其工作原理。 HttpClient库由Apache基金会开发,提供了全面的HTTP协议支持,包括标准与扩展的HTTP方法、连接管理、重试...

    (最新)HttpClient4模拟登录腾讯微博

    这篇最新的文章“HttpClient4模拟登录腾讯微博”探讨了如何利用HttpClient4实现对腾讯微博的模拟登录,这在自动化测试、数据抓取等场景中非常实用。 HttpClient4库提供了丰富的API,可以定制化地构造HTTP请求,包括...

    新浪,腾讯微博HttpClient4模拟登陆

    本文将深入探讨如何使用Java中的HttpClient4库来实现对新浪和腾讯微博的模拟登录。HttpClient4是一个强大的HTTP客户端库,它允许开发者执行HTTP请求并处理响应,非常适合进行网页交互。 首先,我们来看`Sina.java`...

    java模拟淘宝登录源码

    Java模拟淘宝登录源码是一种常见的网络编程技术,主要...在实际开发中,为了提高代码的可维护性和复用性,通常会封装成一个通用的模拟登录类,包含初始化HTTPClient、构造请求、处理响应等功能,以适应不同的登录场景。

    HttpClient4.3模拟登陆新版12306

    本篇文章将详细讲解如何利用HttpClient 4.3版本来模拟登录新版12306(中国铁路客户服务中心网站)。 1. **HttpClient介绍** HttpClient是Apache的一个开源项目,它提供了强大的HTTP协议处理能力和灵活的HTTP客户端...

    HttpClient模拟登陆

    在这个场景中,我们将探讨如何使用HttpClient实现模拟登录操作。 首先,了解HttpClient的基本使用。HttpClient库提供了HttpClient实例,用于发送HTTP请求。创建HttpClient实例可以通过`HttpClientBuilder`类: ```...

    httpclient如何保持session会话模拟登录后的操作

    本篇文章将深入探讨如何使用HTTPClient来实现session会话的保持,并在模拟登录后执行后续的操作。 首先,了解HTTP协议的基础知识是非常重要的。HTTP协议是无状态的,这意味着每次请求之间没有任何关联。为了保持...

    用HttpClient来模拟浏览器GET POST

    但是考虑到一些服务授权的问题,很多公司提供的页面往往并不是可以通过一个简单的URL就可以访问的,而必须经过注册然后登录后方可使用提供服务的页面,这个时候就涉及到COOKIE问题的处理。我们知道目前流行的***页...

    JAVA-用HttpClient来模拟浏览器GET,POST.docx

    JAVA使用HttpClient模拟浏览器GET、POST请求 在本文中,我们将介绍如何使用Apache Commons HttpClient库来模拟浏览器的GET和POST请求。HttpClient库是一个开放源码的项目,是Apache Commons项目的一部分,旨在简化...

    httpclient4之百度模拟登陆,回复与58同城自动登陆

    总的来说,HttpClient4提供了一个强大而灵活的框架,可以用来模拟登录各种网站,包括百度和58同城。然而,每个网站的登录机制都有所不同,所以需要根据具体情况进行调整和优化。在开发过程中,务必遵守网站的使用...

    java web中 HttpClient模拟浏览器登录后发起请求

    Java Web 中 HttpClient 模拟浏览器登录后发起请求 Java Web 中 HttpClient 模拟浏览器登录后发起请求是指在 Java Web 应用程序中使用 HttpClient 库模拟浏览器的行为,模拟浏览器登录到服务器,然后发起请求获取...

    httpclient模拟登陆

    ### HTTPClient 模拟登录详解 #### 一、概述 HTTPClient是Apache组织下的一个开源项目,它提供了功能丰富的HTTP客户端开发工具包,可以用来发送HTTP请求并接收响应。利用HTTPClient,我们可以轻松实现模拟登录的...

    C# 使用HttpClient模拟请求的案例

    情景描述 将一个时间转换为对应的unix时间戳, ... ...除此之外,我们对请求添加签名的校验,key设置为X-Sign 接口定义 /// /// 获取时间戳(毫秒). .../// <param name=dateTime></param> /// <returns></returns> ...

    用HttpClient来模拟浏览器GET_POST

    使用HttpClient来模拟浏览器GET_POST HttpClient是一个Apache开源组织中的项目,隶属于Jakarta的commons项目,旨在简化HTTP客户端与服务器进行各种通讯编程。通过使用HttpClient,可以轻松地解决以前很头疼的事情,...

    httpclient4 微信公众账号模拟登陆

    httpclient4 微信公众账号模拟登陆,网络上看到的,觉得不错上传出来,供大家一起共同分享学习。

    HttpClient模拟http浏览器请求

    这个库广泛应用于Web服务调用、API接口测试以及自动化脚本中,因为它可以模拟浏览器的行为,进行GET、POST等复杂的HTTP请求。 在Java编程中,HttpClient提供了一个强大的API,允许我们创建自定义的HTTP请求,设置...

Global site tag (gtag.js) - Google Analytics