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就可以了。比上面的容易实现些。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值