golang urlencode

u := url.Values{}
    u.Set("a", "1")
    u.Set("b", "2")
    u.Set("data", `{"sessionId":"0bts0W1DWKm70B4UZq3V1h3r2DpsbhDsc2WD","eventId":"8F2qNf0bts0W1DWKm70B4UZq3V1h3r2Dpsbh","androidId":"b22f3d41736f748c","userAgent":"Mozilla/5.0 (Linux; Android 5.1; MI PAD 2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Safari/537.36","osVersion":"5.1.1","bundleId":"com.brianbaek.popstar","connectionType":"wifi","deviceMake":"Xiaomi","deviceModel":"MI PAD 2","language":"zh_CN","timeZone":"GMT+08:00","campaignId":3261,"mac":"38:a4:ed:fe:99:c8"}`)
    fmt.Println(u.Encode())

返回结果:

a=1&b=2&data=%7B%22sessionId%22%3A%220bts0W1DWKm70B4UZq3V1h3r2DpsbhDsc2WD%22%2C%22eventId%22%3A%228F2qNf0bts0W1DWKm70B4UZq3V1h3r2Dpsbh%22%2C%22androidId%22%3A%22b22f3d41736f748c%22%2C%22userAgent%22%3A%22Mozilla%2F5.0+%28Linux%3B+Android+5.1%3B+MI+PAD+2+Build%2FLMY47I%3B+wv%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Version%2F4.0+Chrome%2F55.0.2883.91+Safari%2F537.36%22%2C%22osVersion%22%3A%225.1.1%22%2C%22bundleId%22%3A%22com.brianbaek.popstar%22%2C%22connectionType%22%3A%22wifi%22%2C%22deviceMake%22%3A%22Xiaomi%22%2C%22deviceModel%22%3A%22MI+PAD+2%22%2C%22language%22%3A%22zh_CN%22%2C%22timeZone%22%3A%22GMT%2B08%3A00%22%2C%22campaignId%22%3A3261%2C%22mac%22%3A%2238%3Aa4%3Aed%3Afe%3A99%3Ac8%22%7D

时间: 2024-11-09 17:41:41

golang urlencode的相关文章

Golang 微框架 Gin 简介

框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了.成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应手的时候,可以尝试改造一些框架,或是自己创造一个. 曾经我以为Python世界里的框架已经够多了,后来发现相比golang简直小巫见大巫.golang提供的net/http库已经很好了,对于http的协议的实现非常好,基于此再造框架,也不会是难事,因此生态中出现了很多框架.既然构造框架的门槛变低了,

golang模板语法简明教程

[模板标签] 模板标签用"{{"和"}}"括起来 [注释] {{/* a comment */}} 使用“{{/*”和“*/}}”来包含注释内容 [变量] {{.}} 此标签输出当前对象的值 {{.Admpub}} 表示输出Struct对象中字段或方法名称为“Admpub”的值. 当“Admpub”是匿名字段时,可以访问其内部字段或方法,比如“Com”:{{.Admpub.Com}} , 如果“Com”是一个方法并返回一个Struct对象,同样也可以访问其字段或方法

Golang Http请求

请求的结构 HTTP的交互以请求和响应的应答模式.go的请求我们早就见过了,handler函数的第二个参数http.Requests.其结构为: type Request struct { Method string URL *url.URL Proto string // "HTTP/1.0" ProtoMajor int // 1 ProtoMinor int // 0 Header Header Body io.ReadCloser ContentLength int64 Tra

golang []byte转string

golang中,字符切片[]byte转换成string最简单的方式是 package main import ( "fmt" _ "unsafe" ) func main() { bytes := []byte("I am byte array !") str := string(bytes) bytes[0] = 'i'//注意这一行,bytes在这里修改了数据,但是str打印出来的依然没变化, fmt.Println(str) } 打印信息:

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

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

golang实现Ringbuf

Ring buffer算法优点:高内存使用率,在缓冲buffer内存模型中,不太容易发生内存越界.悬空指针等 bug ,出了问题也容易在内存级别分析调试.做出来的系统容易保持健壮. package main import ( "bytes" "fmt" ) type Ringbuf struct { buf         []byte start, size int } func New(size int) *Ringbuf { return &Ringb

Golang Hash MD4

//Go标准包中只有MD5的实现 //还好,github上有MD4实现. package main import (     "golang.org/x/crypto/md4"     "encoding/hex"     "fmt" ) func get_md4(buf []byte) ([] byte) { ctx := md4.New() ctx.Write(buf) return ctx.Sum(nil) } func main() {

Java程序员的Golang入门指南(上)

Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如果有人说X语言比Y语言好,两方的支持者经常会激烈地争吵.如果你是某种语言老手,你就是那门语言的"传道者",下意识地会保护它.无论承认与否,你都已被困在一个隧道里,你看到的完全是局限的.<肖申克的救赎>对此有很好的注脚: [Red] These walls are funny.

golang学习笔记:golang 语法篇(二)

在语法篇(一)中学习了go中基本的数据类型.变量.常量等组成语言的基本要素,在这一节中将会学习如何将这些元素组织起来,最终写成可以执行的代码. 在这一部分包括: go中的流程控制语句: go中函数的用法: go特殊的错误处理方式: Golang中的流程控制语句 在具体编程的时候免不了需要使用一些特殊的语句实现某些功能,比如使用循环语句来进行迭代,使用选择语句控制程序的执行方式等.这些语句在任何一门程序设计语言 中都会有支持,golang中除了支持常用的循环,条件选择语句以外,还支持跳转语句,下面