求助java网络编程高手

hqskoala 2003-07-03 06:58:34
小弟用HttpURLConnection读取某个连接对应的网页,下面的代码访问不带认证的网页是好使的。
现在需要读取一个链接对应的网页内容,如果在IE里直接打开该链接是不好使的,必须在首页里登陆一下才能打开该链接。
对于这样的连接,我在代码里也设置用户名和密码,可是执行时总是提示连接超时,
这样的网页,在登陆时是不是设置了cookie什么的,有什么办法在java程序中读取这种链接(知道用户名和口令)?


代码如下:
URL url = new URL(urlName);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setAllowUserInteraction(true) ;
connection.setUseCaches(true) ;

String username = "aaa";
String password = "aaa";
String input = username + ":" + password;
String encoding = new sun.misc.BASE64Encoder().encode (input);
connection.setRequestProperty("Authorization","Basic " + encoding);

connection.connect();

BufferedReader in = new BufferedReader(new
InputStreamReader(connection.getInputStream()));

String line;
n = 1;
while ((line = in.readLine()) != null )//&& n <= 10
{
System.out.println(line);
n++;
}
if (line != null) System.out.println(". . .");
...全文
38 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqskoala 2003-07-04
  • 打赏
  • 举报
回复
终于搞明白了,谢谢,给分!
zyymmm 2003-07-04
  • 打赏
  • 举报
回复
mark
hqskoala 2003-07-04
  • 打赏
  • 举报
回复
http://info.xinhuanet.com/publish/PublishText?pLang=CHN&pValueID=23818594&pSearchwords=

是这样的链接
nbm0 2003-07-03
  • 打赏
  • 举报
回复
1、如果你在网页用到了session,那么就存在你说的cookie的问题
解决方法:先请求login.jsp,然后从返回的流中取得cookie的ID,再请求你想请求的网页,并在请求的同时将cookie的ID set进去,就可以过到你要取"读取一个链接对应的网页内容"目的
2、如果没有用到session,那么应该直接做请求就可以了,
connection.setDoOutput( true );
connection.setDoInput( true );
connection.setUseCaches( false );
注意上面三个条件,好象都要设的,可以试一下!
3、将你要请求的页面jsp贴出来
hqskoala 2003-07-03
  • 打赏
  • 举报
回复
是不是可以把用户名和口令当作cookie的内容作为http请求的头发送出去
hqskoala 2003-07-03
  • 打赏
  • 举报
回复
好像不是jsp的
ralihm 2003-07-03
  • 打赏
  • 举报
回复
如果你是要想直接登入一个网站的话你可以构造一个查询啊

例如目标站点是login.jsp
url=new URL("login.jsp?username=aa&password=bb");
就可以登入拉

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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