去,基本访问认证

时间:2012-01-19 22:52:11

标签: passwords go basic-authentication username http-basic-authentication

Google Go是否支持basic access authentication来电的解码?如何从http.Request获取用户名和密码?

2 个答案:

答案 0 :(得分:2)

当在浏览器中输入URL时,Go似乎没有拦截基本身份验证,但它确实允许从其他一些应用程序调用它来获取它。

例如,使用HTTP JSON RPC的简单Python代码:

from jsonrpc import ServiceProxy
access = ServiceProxy("http://user:pass@127.0.0.1:8080/")
print access.getinfo()

在Go中呼叫:

// r *http.Request
r.Header["Authorization"]

获得此字符串:

[Basic dXNlcjpwYXNz]

dXNlcjpwYXNz

基础64解码给出

user:pass

因此,Go中的一些基本身份验证是可能的,尽管它可能不是人们可以依赖的东西。

答案 1 :(得分:0)

似乎无法获取用户提供的身份验证信息,但您可以通过调用SetBasicAuth为HTTP基本身份验证提供有效的用户名和密码。