net/url

package main

import (
	"fmt"
	"net/url"
)

func main() {
	escape := url.QueryEscape("你好世界+%AB")
	fmt.Println(escape)                    //QueryEscape函数对string进行转码,并返回
	fmt.Println(url.QueryUnescape(escape)) //QueryEscape的解码函数
	url1 := "http://localhost:8080/user/show?m1=77"
	u, err := url.Parse(url1)
	if err != nil {
		fmt.Println(err)
	}

	fmt.Println(u.Host, u.String())
	u.Host = "baidu.com" //修改host
	fmt.Println(u)

	u1, _ := url.ParseRequestURI("http://localhost:8080/tongji/huifanginfo?m1=117&aa=bb&cc=中国")
	fmt.Println(u1.IsAbs()) //是否是url
	fmt.Println(u1)
	u2 := u1.RawQuery                                     //url ?后面的参数字符串
	fmt.Println(url.ParseQuery(u2))                       //解析查询字符串到url.values
	fmt.Println(u1.Query())                               //返回u1的url.values
	fmt.Println(u1.RequestURI())                          //返回编码好的path?query或opaque?query字符串
	fmt.Println(u1.String())                              //返回*url的字符串
	fmt.Println(u1.Parse("?m1=117&aa=bb&cc=中国&dd=新加的参数")) //补全u1的url
	fmt.Println(u1.ResolveReference(u))                   //和上面差不多,参数是一个*url 不返回错误,没看明白

	v := url.Values{}
	v.Set("name", "zhangsan") //将key对应的值集设为只有value,它会替换掉已有的值集
	v.Add("sex", "男")         //将value添加到key关联的值集里原有的值后面
	v.Add("sex", "保密")
	fmt.Println(v.Get("name")) //获取key对应的值集的第一个值
	fmt.Println(v.Get("sex"))
	fmt.Println(v["sex"])                   //这个会取出这个值集的slice
	fmt.Println(v.Encode())                 //将v编码为url编码格式
	fmt.Println(url.ParseQuery(v.Encode())) //解析一个url编码的查询字符串,返回Values

}
时间: 2024-10-07 09:43:14

net/url的相关文章

Django url 标签和reverse()函数的使用(转)

原文:http://www.yihaomen.com/article/python/355.htm 使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响 起初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,

Spring MVC的@RequestMapping多个URL映射到同一个方法

@RequestMapping可以是一个URL对应一个方法,也可以多个URL对应同一个方法,写法如下: @RequestMapping(value={"url","resturl"}) public String url() { return "url"; }

URL

url,uniform resource locator,统一资源定位符,指示互联网上的资源,通常我们称之为网页地址.url可以分为协议.主机.端口号(http默认为80).文件路径.请求参数.定位位置. java语言中可以使用URL类在internet上获取网络资源.它有如下6个构造方法: 1.URL(String spec) 2.URL(String protocol, String host, int port, String file) 3.URL(String protocol, St

ASP.NET取得Request URL的各个部分

ASP.NET取得Request URL的各个部分  网址:http://localhost:1897/News/Press/Content.aspx/123?id=1#toc Request.ApplicationPath / Request.PhysicalPath D:\Projects\Solution\web\News\Press\Content.aspx System.IO.Path.GetDirectoryName(Request.PhysicalPath) D:\Projects

URL Schemes 不能识别和不能跳转的原因

在app跳转的过程中 需要设置url schemes后,但是设置完后,却不能识别, (测试方式:URL scheme + ://)在浏览器中打开,如果能打开app,就是能跳转 今天遇到了一个坑爹的问题,我设置成了,test_app.com 搞了好久就是不行,最后发现,格式问题,换成testapp就好了, 个人建议:不要加特殊字符,毕竟是url嘛

引用nodejs的url模块实现url路由功能

我们在本地创建服务器之后需要写不同的后缀名来访问同一个站点的不同页面,如果不实现路由功能.则每次访问localhost:3000 不论后面写什么  比如localhost:3000/index.localhost:3000/detail...最终都会访问同一个地址:而用url路由则可以实现访问不同的页面:在实现url路由功能之前,首先需要引入url模块:const url = require('url');  nodejs 为我们提供了url模块,并且提供了url模块的一些方法: 最终要的方法是

设计 api, url 的原则

做微信公众号的项目,账号体系使用微信的 openid.现在增加需求,要求适应 web 端--做成普通的 web 项目.然后 url 的变化:我想给现有的 url 加上 /web/ 前缀,从而区分客户端是微信还是普通浏览器. 参考 http://www.informit.com/articles/article.aspx?p=1566460 阮一峰 api 设计原则

php 浏览器URL加密函数urlencode 和rawurlencode函数

urlencode 对URL地址进行加密 urldecode 对URL地址进行解密 rawurlencode 对URL地址进行加密 rawurldecode 对URL地址进行解密 两者的唯一区别在于urlencode 会把空格加密为'+'号,而rawurlencode会把空格加密为'%20', urldecode会把'%20'解密回空格,而rawurldecode不会把'+'号解密回为空格.

Cento7+Nginx 之 URL重写

Cento7+Nginx  之  URL重写 我们前一篇文章写了一个Cento7+Nginx 反向代理实现多域名跳转,今天主要介绍一下Cento7+Nginx  之  URL重写, Hostname:A-S.IXMSOFT.COM IP:192.168.5.20 Role:Nginx server 我们首先准备安装Nginx仓库 Yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.

异步处理未登录url跳转

http://localhost:8080/xxx/login?url=http://localhost:8080/xxx/oldurl // 从url中获取原页面url=http://localhost:8080/xxx/oldurl function GetQueryString(paras){ var url = location.href; var paraString = url.substring(url.indexOf("?")+1,url.length).split(&