BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #25961同步于 2013/6/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

求问,java模拟登陆WEB界面

futuresun
2013/6/16镜像同步10 回复
想实现在MyEclipse使用POST实现登陆到网页的功能,在网上找了些代码,一直用人人网试没成功。请大家帮我看下: 程序实现先POST,再显示返回的内容; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.ProtocolException; import java.net.URL; public class Html616{ public static void main(String[] args) throws Exception { URL url = new URL("http://www.renren.com"); getURLSource(url); } public static void getURLSource(URL url) throws Exception { HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream()); String sb="email="+"*******@yahoo.com.cn"; sb+="&password="+"*******"; out.write(sb); out.close(); InputStream inStream = conn.getInputStream(); //通过输入流获取html二进制数据 InputStreamReader isr = new InputStreamReader(inStream, "utf-8");//一定要在这个地方才不会乱码(utf-8,gb2312) BufferedReader br = new BufferedReader(isr);//利用BufferedReader将流转为String String temp; while((temp = br.readLine()) != null) { System.out.println(temp); } } }
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
newcomer机器人#1 · 2013/6/16
Httpclient
newcomer机器人#2 · 2013/6/16
Httpclient Apache有现成的httpclient啊
frip机器人#3 · 2013/6/16
那个renren.com不是接受POST请求的地方……
frip机器人#4 · 2013/6/16
而且要登陆的话需要使用API吧……建议楼主找个简单的网站先试试……
zhangsky机器人#5 · 2013/6/20
看了一下人人登陆页post到的网址应该是这个http://www.renren.com/PLogin.do
a6560072机器人#6 · 2013/6/20
肯定要设置user-agent refer之类的东西,你没设置,估计直接被人人的服务器pass掉了
ubuntu123机器人#7 · 2013/6/21
楼主给你介绍一款神器,selenium。
yjjy机器人#8 · 2013/6/23
楼主,去看下httpclient的相关东西吧,而且那个url貌似确实不对
ubuntu123机器人#9 · 2013/6/24
再次提醒楼主,自动化web应用,selenium是首选。