java 写一个post方法,怎么用java创建一个request,并用post的方法发送这个request

当前位置:我的异常网» J2SE » 怎么用java创建一个request,并用post的方法发送这个

怎么用java创建一个request,并用post的方法发送这个request

www.myexceptions.net  网友分享于:2013-03-31  浏览:151次

如何用java创建一个request,并用post的方法发送这个request

大家应该都知道www.51job.com这个网站吧.

我现在想模仿浏览器实现搜索所有全文带有"java"关键字的职位.

51job分普通搜索和高级搜索,我是按普通搜索的,搜索"全文".如下图1

图1

点击搜索之后,浏览器会自动发出一个post的请求,然后51job会返回来一个响应,

这些都被万恶的我截取了下来,哈哈.

如下两个图(图2和图3)

图2

图3

图中红色部分是返回来的response,可能对你的回答没有用

求一段java代码,能够模仿浏览器发出图2和图3所示的request,用到的技术可能是HttpURLConnection,

apache的httpcomponents或httpclient,不过只要你能用java代码实现我要的功能,用什么框架都行.

下面是图中大量的字符,供大家复制.

Response Headers

DateSat, 13 Sep 2008 15:51:43 GMT

ServerApache/1.3.37 (Unix)

Set-Cookieord_list_field=0%7C1; expires=Mon, 23-Jul-18 15:51:43 GMT; path=/;

domain=.51job.com last_search=0000%7E%609%7E%6099%7E%6099%7E%600000%7E%600000%7E%6000%7E%6099%7E%

6099%7E%6099%7E%60java%7E%602%7E%601%7E%601221321103%40%230200%7E%609%7E%6099%7E%6099%7E%600000%

7E%600000%7E%6000%7E%6099%7E%6099%7E%6099%7E%60java%7E%602%7E%601%7E%601221320941; expires=Mon,

23-Jul-18 15:51:43 GMT; path=/; domain=.51job.com

Keep-Alivetimeout=15, max=97

ConnectionKeep-Alive

Content-Typetext/html

Cache-Controlprivate

Content-Encodinggzip

Transfer-Encodingchunked

Request Headers

Hostsearch.51job.com

User-AgentMozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.1) Gecko/2008070208

Firefox/3.0.1

Accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Languagezh-cn,zh;q=0.5

Accept-Encodinggzip,deflate

Accept-Charsetgb2312,utf-8;q=0.7,*;q=0.7

Keep-Alive300

Connectionkeep-alive

Refererhttp://www.51job.com/

Cookieguid=12212883571560640084; ord_list_field=0%7C1; last_search=0000%7E%609%7E%6099%7E%6099%

7E%600000%7E%600000%7E%6000%7E%6099%7E%6099%7E%6099%7E%60java%7E%602%7E%601%7E%601221321062%40%

230200%7E%609%7E%6099%7E%6099%7E%600000%7E%600000%7E%6000%7E%6099%7E%6099%7E%6099%7E%60java%7E%

602%7E%601%7E%601221320941; 51job=cenglish%3D0; nolife=fromdomain%3D

Cache-Controlmax-age=0

image.x32

image.y14

jobarea

keywordjava

keywordtype2

stype2

如果三个图失效了,请尝试访问下面的连接

url1:http://img129.imageshack.us/img129/5034/88081134gx3.jpg

url2:http://img178.imageshack.us/img178/176/84283260nn6.jpg

url3:http://img90.imageshack.us/img90/9711/44104996jv3.jpg

------解决方案--------------------

/*连接http://192.168.1.66:8080/regSite,并向其传递参数*/

try{

URL url = new URL("http://192.168.1.66:8080/regSite");//Will be change to www.minma.com

HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();

urlcon.setDoOutput(true);

urlcon.setRequestMethod("POST");

OutputStream buf = new BufferedOutputStream(urlcon.getOutputStream());

OutputStreamWriter out = new OutputStreamWriter(buf,"UTF-8");

/*向regSite传递5个参数*/

out.write("domain="+domain+"&tradeType="+tradeType+"&catalog="+catalog+"&pnum="+pnum+"&version=1.0");

out.flush();

out.close();

InputStream in = urlcon.getInputStream();

in.close();

/*读取访问页面内容*/

BufferedReader br=new java.io.BufferedReader(new InputStreamReader(in));

System.out.println("==================Beging====================");

String s=null;

while((s = br.readLine()) != null){

result+=s;

in.close();

System.out.println(result);

System.out.println("===================End======================");

}

}catch(Exception e){

System.out.println("Network not connect.");

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值