go标准库(net/url)阅读

栏目: Go · 发布时间: 5年前

内容简介:我们知道url中不能有空格和非ascii字符。当我们的url path字段中出现这样的字符,我们该如何处理呢。Note: path中的空格和非ascii字符使用同样的方式处理。主要通过Parse函数来解析URL地址。

go标准库(net/url)阅读

url 介绍

  • 问题1: 什么是url?

    当我们使用搜索引擎搜索东西的,我们第一步先在浏览器的地址栏里输入 google.com, www.google.com, http://www.google.com 。我们在地址栏里输入的东西就是URL。

    URL 又叫统一资源定位符, 用于定位我们要访问的文档或者其他资源。

  • 问题2: URL有什么样的格式?

    scheme://[userinfo]@[host]:[port]/path?key1=value1&key2=value2#fragment

    协议 (http, https, file, ftp)

    用户信息, 是可选的

    主机名字或者ip地址,定位网络位置

    port 服务端口, 一般端口表示提供了某项服务

    path 主机上的目录

    ?后的问query信息, key1=value1是表示key值和value值, &是连接符

    ‘#’ 后面的是fragment信息

  • 问题3: URL如何处理非ascii编码?

    非ascii编码,使用%后跟两位16进制数表示,如%AB

    URL中不能有空格, 空格用“+”表示。

url 库

我们知道url中不能有空格和非ascii字符。当我们的url path字段中出现这样的字符,我们该如何处理呢。

  • url path字段中有空格和非ascii字符

    func PathEscape(s string) string

    返回的string将是url可以使用的%后跟两位16进制数的形式

  • 如何把url中的path字段还原成原始模式

    func PathUnescape(s string) (string, err)

a := "hello, 世界" //contain non-ascii code
    b := url.PathEscape(a)
    fmt.Printf("%v\n", b)
    // Output: hello%2C%20%E4%B8%96%E7%95%8C
    c, _ := url.PathUnescape(b)
    fmt.Printf("%v\n", c)
    // Output: hello, 世界

Note: path中的空格和非ascii字符使用同样的方式处理。

  • query字段中出现非ascii字符和空格如何处理

    func QueryEscape(s string) string

    func QueryEscape(s string) (string, error)

    Note:空格的处理和path不太一样,' '将会编程'+'

    示例: https://github.com/MoonNan/go...

  • 如何解析URL

主要通过Parse函数来解析URL地址。

示例代码: https://github.com/MoonNan/go...

  • 如何处理Query 数据

Query字段可以通过ParseQuery函数来处理。ParseQuery根据传入的字符串,生成一个Values字典。

type Values map[string][]string

方法:

Encode 把Values生成字符串

Get Set Del Add

示例代码: https://github.com/MoonNan/go...

  • 如何处理userinfo

type Userinfo用来处理用户数据

User和UserPassword函数生成Userinfo 结构体

方法:Userinfo Password Username


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

超简单!一学就懂的互联网金融

超简单!一学就懂的互联网金融

视觉图文 / 人民邮电出版社 / 2015-2-1 / 45.00元

零基础、全图解,通过130多个精辟的知识点、220多张通俗易懂的逻辑图表,让您一书在手,即可彻底看懂、玩转互联网金融从菜鸟成为达人,从新手成为互联网金融高手! 本书主要特色:最简洁的版式+最直观的图解+最实用的内容。 本书细节特色:10章专题内容详解+80多个特别提醒奉献+130多个知识点讲解+220多张图片全程图解,深度剖析互联网金融的精华之处,帮助读者在最短的时间内掌握互联网金融知......一起来看看 《超简单!一学就懂的互联网金融》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试