Skip to content

Instantly share code, notes, and snippets.

@on99
Created April 20, 2016 16:21
Show Gist options
  • Save on99/abf82b0d2a97da97c8fec64affb80ef0 to your computer and use it in GitHub Desktop.
Save on99/abf82b0d2a97da97c8fec64affb80ef0 to your computer and use it in GitHub Desktop.
prove that gin context.Query() already unescape the query
package main
import (
"log"
"net/url"
"github.com/gin-gonic/gin"
)
func main() {
d := gin.Default()
// open link
// http://localhost:9990/?u=http%3A%2F%2Fp.clkservice.youdao.com%2Fclk%2Frequest.s%3Fk%3DrdmJvsATUtKOGQuERgOeyuV3GBHsxf8KQU8439Q0C9zXxo%252BoRxcJpjjAgKu%20ViCqvxf8boGqlOa9n6GdkHWDzSna6gXGJ4rLWoA96o%252FFkeVi03GkMrGJ9LMVcp3%252FcQJnfpeWdky9ucT%252FrW%252FAwLFD2rFdmUMRmF4en5ANZckAk6kCbEsOL%252BMLsXGG4CrgB1m4TQ%201chlcL7%252FrBgP5ieLKF7k8RdpNWXXEdQ%252BJAI84jLOdsviVWkQ%252F6fBT2Hlr9NU1UhDVPkZxYewWY6Pckl18sbM5JF6psgslJbNuc6PKi%252BtUGyD3nV9Ed%252BY%252BxIVZNOvH%252F%20%252B4KNhnMWY5FhQi9bKu7lksYRQQ3%252Fyk3u7tS6EXj19BB6VPPcWmJSS2RGeOvla3ngnD%252BdDSz2ZTaFIFtjcR%252BC%252FdojwbyitJUIwzbN85adOksIMm7iJZ8mJUrdbgmbtJ1yGRAuNx%20GmUm6imqXGgj8a%252BrZ5Iu3MaI0l8HqvKDqJFnYupqPh9x43CdBO47l%252BvUMOrTEhrlErmu5F3ni9zAeKGnNgIXd0b1zS7cmRBf4ExTuF%252FIWQrt%252FhB3DMk0eQZhF%252F8jEBA0Tmfv83%20%252FTuNZFR2%252F%252FTx%252BhgYSK%252BeS%252FYRwFn90j9BSKknHlBkbmPv3euIoYK0Tbl7a4ERdpqeGxCCkuIfHpYxelAEQiYHRa1ieEPlHKp0X9vmEHF4GBu5Bz7g1v2SGJZ8nHpbjT1sSx%209AcfMyW5NfGj6hHFwmmOMCAq5WIKq%252FXxo%252BoRxcJpjjAgKuViCqvd9CTDjoZV4rb7wKzKWH3Cnt8rrQvm649Xq%252FNCGFvA3o%253D%26isrd%3D0%26youdao_bid%3D2e95ded8-ed0c-4e%20f7-85e9-d65d47b88508%26youdao_deviceId%3D0B042CED-861D-453E-9256-FDD0CDE4F81E
// in browser
// you should see two different urls
d.GET("/", func(c *gin.Context) {
log.Println(c.Query("u"))
u, _ := url.QueryUnescape(c.Query("u"))
log.Println(u)
})
d.Run(":9990")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment