`
dadi520
  • 浏览: 140079 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

URL 的具体分析

阅读更多

1. 创建 URL

 

URL(String spec)
URL(String protocol, String host, String file) 

 

创建URL 相对路径时,有一个构造方法
URLs at the Gamelan site:
 http://www.gamelan.com/pages/Gamelan.game.html
 http://www.gamelan.com/pages/Gamelan.net.html

 

java URL object 对象构造

 

URL gamelan = new URL("http://www.gamelan.com/pages/");
URL gamelanGames = new URL(gamelan, "Gamelan.game.html");
URL gamelanNetwork = new URL(gamelan, "Gamelan.net.html");

 


创建 URL 注意, 如果碰到特殊字符 如空格,可以依据一下方式转换. 


如果链接为: 
http://foo.com/hello world/
则对应的java URL 对象为: URL url = new URL("
http://foo.com/hello%20world");

注:如果不确定那些特殊字符需要编码, 可以使用 java.net.URI 类

 

URI uri = new URI("http", "foo.com", "/hello world/", "");
URL url = uri.toURL();

 

 

2. 解析 URL

 

URL url = new URL("http://java.sun.com:80/docs/books/tutorial/index.html?name=networking#DOWNLOADING";
 System.out.println("authority: " + url.getAuthority());
 System.out.println("host: " + url.getHost());
 System.out.println("port: " + url.getPort());
 System.out.println("query: " + url.getQuery());
 System.out.println("path: " + url.getPath());
 System.out.println("file: " + url.getFile());
 System.out.println("content: " + url.getContent());
 System.out.println("ref: " + url.getRef());

 

 

 

3. 读取 URL 里面的内容

URL url = null;
url = new URL("http://www.163.com");
  
BufferedReader reader = new BufferedReader(
    new InputStreamReader(url.openStream()));
  
String currentLine = null;
while((currentLine = reader.readLine()) != null) {
   System.out.println(currentLine);
}

 

4. 连接到 URL


当然,connect()方法不是必要的,如有些操作(getInputStream()等)会自动依赖于
connect() 方法,当然如果有必要,还是要显示调用


 

 try {
  URL yahoo = new URL("http://www.yahoo.com/");
  URLConnection yahooConnection = yahoo.openConnection();
  yahooConnection.connect();

 } catch (MalformedURLException e) {     // new URL() failed
  . . .
 } catch (IOException e) {               // openConnection() failed
  . . .
 }

 

 

 

注: 一般不只直接要url 得到InputStream等,用URLConnection 获得Steam 比较好.

 

5. 写入内容到URL 中


例如: 写入一个字符串到URL, 然后服务器得到后,反向字符串后返回.
一般按以下步骤执行


   1. Create a URL.
   2. Retrieve the URLConnection object.
   3. Set output capability on the URLConnection. urlConnection.setDoOutput(true);
   4. Open a connection to the resource.
   5. Get an output stream from the connection.
   6. Write to the output stream.
    7. Close the output stream.


 

URL url = new URL(args[0]);
URLConnection con = url.openConnection();
 
con.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());
out.write("String =" + encodeStr);
out.flush();
out.close();

  

 

访问方式为
java TestURLConnectionWriter http://localhost:8080/urltest/reverse abc

服务器端用Servlet处理,具体见附件代码

分享到:
评论

相关推荐

    用vb6实现的URL分析器,包含直接可用的安装包和完整源代码

    URL分析器,相信网上也有很多程序或软件可以对现在的动态url进行解释,也就是将指定的url提交给服务器,然后将返回的源代码显示出来。为什么要这样做?原因有很多,有时候FlashGet解释下载文件的地址会出错,但是...

    JS基于Location实现访问Url、重定向及刷新页面的方法分析

    分享给大家供大家参考,具体如下: js通过Location实现访问Url,重定向,刷新页 web中经常会使用到刷新页面,访问url、重定向请求的功能。 javascript提供了许多方法访问,修改当前用户在浏览器中访问的url.所有的这些...

    php进行支付宝开发中return_url和notify_url的区别分析

    具体分析如下: 在支付宝处理业务中return_url,notify_url是返回些什么状态呢,我们要根据它来做一些处理就必须了解return_url,notify_url的区别,下面我就来给大家介绍介绍. 问题描述: 我在处理支付宝业务中出现过...

    C#分析URL参数并获取参数和值对应列表的方法

    具体分析如下: 这个C#函数用于分析url中传递的所有参数,输出一个参数名和参数值对应的NameValueCollection列表,经常能用得到 /// /// 分析 url 字符串中的参数信息 /// /// <param name=url>输入的 URL /// ...

    asp获取URL参数的几种方法分析总结 原创

    需要用到这个功能,没怎么测试呢,测试后给具体代码 假如地址是: http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html 方法一:简单,得不到参数,只有一个虚拟路径 代码如下:GetUrl =request(“url...

    thinkphp中的url跳转用法分析

    本文实例分析了thinkphp中的url跳转用法。分享给大家供大家参考,具体如下: 最先想到的是a标签里面的target属性,_blank时,可以在新的lab窗体中打开新的页面 但是现在要在php文件里面跳转, $this->redirect('/...

    tp5.1 框架路由操作-URL生成实例分析

    分享给大家供大家参考,具体如下: ThinkPHP支持路由URL地址的统一生成,并且支持所有的路由方式,以及完美解决了路由地址的反转解析,无需再为路由定义和变化而改变URL生成。 如果你开启了路由延迟解析,需要生成...

    python对url格式解析的方法

    具体分析如下: python针对url格式的解析,可根据指定的完整URL解析出url地址的各个部分 from urlparse import urlparse url_str = http://www.163.com/mail/index.htm url = urlparse(url_str) print 'protocol:',...

    ASP.NET中URL Routing和IIS上URL Rewriting的区别

    但是发现有很多人误会URL Routing就是URl Rewriting,其实2个虽然都提供相似的功能(提高友好的URL方便搜索引起收录),但是2者的原理和运行周期是完全不一样的,本篇文章我们就来分析一下具体有什么不同。...

    drupal的url传值和表单传值分析

    主要为大家介绍了drupal的url传值和表单传值,以实例形式较为详细的分析了drupal的URL传值与表单传值的具体实现方法,是采用drupal建站中非常实用的技巧,需要的朋友可以参考下

    JS获取url参数、主域名的方法实例分析

    分享给大家供大家参考,具体如下: [removed] alert(location.hostname) alert(location.port) alert(location.pathname) alert(location.search) [removed] [removed] function ...

    jquery获取url参数及url加参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作,下面通过文字说明加代码分析的形式给大家解析,具体详情请看下文。 1、jquery获取url很简单,代码如下: 复制代码 代码如下: [removed].href; ...

    nodejs入门教程四:URL相关模块用法分析

    URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate(定位)这个资源。 2)URL模块中的方法: ① url.format(urlObject):将一个 url 对象转为...

    Python实现从URL地址提取文件名的方法

    具体分析如下: 如:地址为 //www.jb51.net/images/logo.gif 要想从该地址提取logo.gif,只需要一句代码就可以搞定 import os url = '//www.jb51.net/images/logo.gif' filename = os.path.basename(url) print...

    thinkphp的URL路由规则与配置实例

    具体分析如下: 一、URL规则 1、默认是区分大小写的 2、如果我们不想区分大小写可以改配置文件 复制代码 代码如下:’URL_CASE_INSENSITIVE’=>true,//url不区分大小写 3、如果模块名为 UserGroupAction,那么url找...

    IIS 应用程序池 CPU 100% 分析软件,找出具体有问题的ASP程序URL

    IIS应用程序池分析软件有什么作用?  一个 IIS 6.0 / 7.0 服务器上可能存在着100-300个WEB站点,如果其中一个站点的ASP程序设计存在问题,那么将会引起CPU 持续占用100%,从而引起同一个服务器其他站点不能正常工作...

    CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析

    本文实例分析了CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患。分享给大家供大家参考,具体如下: php CI框架中URL特殊字符有很多是不支持的,导致像c++,括号这些常用的分类,字符都无法正常显示很头痛,而...

    js获取url传值的方法

    分享给大家供大家参考,具体如下: js获取url参数值: index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&…… 静态html文件js读取url参数 根据获取html的参数值控制html页面输出 一、字符串分割分析法 ...

    php动态添加url查询参数的方法

    具体分析如下: 这段代码可以动态为url添加key-value查询参数,如果参数已经存在则会用新的进行覆盖 function add_querystring_var($url, $key, $value) { $url=preg_replace('/(.*)(?|&)'.$key.'=[^&]+?(&)(.*)/i...

Global site tag (gtag.js) - Google Analytics