java 如何打开一个网站得到该网站的Url编码格式 1.如URL url=new URL("www.sian.com");2.我该如何用Java代码得到该网站的编码格式呢。3.或者用其他的方法。注意一点是该网站参数是动态的! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接截取页面的charset可行不? URL 类自身并不根据 RFC2396 中定义的转义机制编码或解码任何 URL 部分。由调用方对任何需要在调用 URL 前进行转义的字段进行编码,并对从 URL 返回的任何经过转义的字段进行解码。进一步而言,由于 URL 不懂 URL 转义,所以它不会识别同一 URL 的对等编码和解码形式。例如,对于这两个 URL:http://foo.com/hello world/ 和 http://foo.com/hello%20world将被视为互不相等。 注意,URI 类在某些特定情况下对其组成字段执行转义。建议使用 URI 管理 URL 的编码和解码,并使用 toURI() 和 URI.toURL() 实现这两个类之间的转换。==================================以上内容节选自API文档 2楼大哥。你能写一下例子出来吗。到时候可以用我给你加分。就是我在Action中能得到一个连接。最终得到连接网址的里的编码格式。 URL url = new URL("http://baidu.com"); InputStreamReader inr = new InputStreamReader(url.openStream()); while(inr.ready()){ System.out.print((char)inr.read());}这里面有你想要的么? 你试一试这种:URL url=new URL("http://www.baidu.com");//创建URL对象URLConnection urlcon=url.openConnection();//返回一个URLConnection对象String charset=urlcon.getContentEncoding();/*这个应该是编码格式,如果不是的话查看URLConnection的api文档*/ URL,尤其对于HTTP协议的实现上,其应答本身只有两部分,头字段和实体数据,有些网站么,你可以这样就获取到编码信息: URL url=new URL("http://www.baidu.com"); HttpURLConnection http=(HttpURLConnection)url.openConnection(); String contentType=http.getContentType(); System.out.println(contentType); 但这并不是强制性的,所以并不可靠,HTTP协议只负责把数据实体传到客户端,Content-Type头字段允许描述数据实体的类型,但并不是所有实现都提供。 一般而言,HTTP协议很多情况用来传输HTML内容,HTML标记里面的元数据标签:<meta>描述了这个页面是用什么编码的,楼主可以用正则表达式分析所得页面的内容来抓出编码。 但很遗憾,这也不是百分百可行的,有些网站也不给这个,那么浏览器就会用本地操作系统的默认编码来显示,如果服务器不是用的本地默认编码,那就出现了传说中的乱码了! OSGI开发图形界面程序 如何算出某个月的星期几是哪几天? 以下这段代码是Java1.4的, 如何改成 1.5 格式呢? 有没有办法功能程序实现java组件的合理安排? 接着提个初级的问题,谢谢! String args[]和String []args有什么区别???? JAVA的网络编程问题 java怎么运行sql文件 关于算法的问题 请问,如何从一幅大的图片生成一个小的缩略图(就是thumb)? J2SE服务器值传递 控制台输入不换行
注意,URI 类在某些特定情况下对其组成字段执行转义。建议使用 URI 管理 URL 的编码和解码,并使用 toURI() 和 URI.toURL() 实现这两个类之间的转换。
==================================
以上内容节选自API文档
URL url = new URL("http://baidu.com");
InputStreamReader inr = new InputStreamReader(url.openStream());
while(inr.ready()){
System.out.print((char)inr.read());
}这里面有你想要的么?
HttpURLConnection http=(HttpURLConnection)url.openConnection();
String contentType=http.getContentType();
System.out.println(contentType); 但这并不是强制性的,所以并不可靠,HTTP协议只负责把数据实体传到客户端,Content-Type头字段允许描述数据实体的类型,但并不是所有实现都提供。
一般而言,HTTP协议很多情况用来传输HTML内容,HTML标记里面的元数据标签:<meta>描述了这个页面是用什么编码的,楼主可以用正则表达式分析所得页面的内容来抓出编码。
但很遗憾,这也不是百分百可行的,有些网站也不给这个,那么浏览器就会用本地操作系统的默认编码来显示,如果服务器不是用的本地默认编码,那就出现了传说中的乱码了!