JAVA打开浏览器传参的问题

zhulei2008 2012-08-01 10:32:57
现在需要打开浏览器,并且post一些参数(不是url后跟参数的GET方式提交)

比如打开“http://www.aaa.com”,传递参数username跟password


然后服务器端通过传递的参数进行一些操作?


这样的实现方式可以吗?求指教
...全文
813 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightyq 2012-08-01
  • 打赏
  • 举报
回复
打开页面,传递参数。
这就是一个相当于打开jsp页面,并提交的操作。


打开页面可以用Desktop.getDesktop().browse(new URL("http://www.baidu.com").toURI());

向网页提交参数可以用

HttpClient httpClient = new HttpClient();
httpClient.getHostConfiguration().setHost("mail.163.com",80,"http");
PostMethod postMethod = new PostMethod();

NameValuePair username = new NameValuePair("userName", "xxx");
NameValuePair userpassword = new NameValuePair("password", "xxx");
postMethod.setRequestBody(new NameValuePair[] { username,userpassword});

int statusCode = httpClient.executeMethod(postMethod);

但是楼主要的太智能了。
MiceRice 2012-08-01
  • 打赏
  • 举报
回复
阿宝,在启动新浏览器的同时,楼主还要求不能用GET方式传参,要用POST方式传参。

这个问题,我觉得除了要做个过渡页面外,没啥好方法了。
qybao 2012-08-01
  • 打赏
  • 举报
回复
需要打开浏览器?还是不用打开浏览器能连接url就可以?
如果要打浏览器,需要用
Runtime.getRuntime.exec("C:\Program Files\Internet Explorer\iexplore xxx"); //xxx是url加参数
或者用直接用 java.awt.Desktop.getDesktop().brower(new URI(xxx));

如果不需要打开浏览器,方法很多,如1L说的,还可以用URLConnection,或者调用第三方程序如wget,curl
之类的
MiceRice 2012-08-01
  • 打赏
  • 举报
回复
哦,你要用Java来启动IE浏览器?并同时POST数据?

刚才没注意启动浏览器这个要求,这个复杂度会比较高了。

大致分两步:
1、Java启动一个临时HTTP服务(直接用Socket写也行),可以输出一个HTML,这个HTML中实现:
一个form表单,目标地址设好,参数啥都设置好;然后<body onload="提交该表单">
2、用Runtime来启动IE浏览器,类似:
Runtime.getRuntime().exec( "cmd /c start http://localhost:12345/ ");
zhulei2008 2012-08-01
  • 打赏
  • 举报
回复
可以啊,用Java开源组件:HttpClient,想POST啥都行。
=================================
同时也能打开浏览器吗?
求简单实现代码
MiceRice 2012-08-01
  • 打赏
  • 举报
回复
可以啊,用Java开源组件:HttpClient,想POST啥都行。

51,394

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧