如何使用 Nim 的 httpclient 模块进行身份验证以检索 HTML?
How do I authenticate, using Nim's httpclient module to retrieve HTML?
我是初学者,我想编写一个 Nim 应用程序来处理来自内部网站的一些数据。
访问此站点需要基本身份验证(用户名、密码)。
有效的Python解决方案是:
response = requests.get('https://internal:PORT/page',
auth=('user', 'passwd'),
verify=False) # this is vital
基于关于 httpclient 和模块源代码的 nim 文档,其中指出可以使用代理作为任何函数的参数,我一直在尝试以下几行:
var
client = newHttpClient()
prox = newProxy("https://internal:PORT/page", "user:passwd")
let response = client.getContent(prox) # Error: type mismatch
解决方案可能非常明显,但我没有想法
如何认证。
如果有人能提供帮助,我们将不胜感激!
基本身份验证只是一个 "Authorization" header,值为 "Basic " + base64(用户名 +“:”+ 密码)。在 nim 中等效:
import httpclient, base64
var
client = newHttpClient()
var username = ...
var password = ...
client.headers["Authorization"] = "Basic " & base64.encode(username & ":" & password)
# ... send request with the client
我是初学者,我想编写一个 Nim 应用程序来处理来自内部网站的一些数据。 访问此站点需要基本身份验证(用户名、密码)。
有效的Python解决方案是:
response = requests.get('https://internal:PORT/page',
auth=('user', 'passwd'),
verify=False) # this is vital
基于关于 httpclient 和模块源代码的 nim 文档,其中指出可以使用代理作为任何函数的参数,我一直在尝试以下几行:
var
client = newHttpClient()
prox = newProxy("https://internal:PORT/page", "user:passwd")
let response = client.getContent(prox) # Error: type mismatch
解决方案可能非常明显,但我没有想法 如何认证。
如果有人能提供帮助,我们将不胜感激!
基本身份验证只是一个 "Authorization" header,值为 "Basic " + base64(用户名 +“:”+ 密码)。在 nim 中等效:
import httpclient, base64
var
client = newHttpClient()
var username = ...
var password = ...
client.headers["Authorization"] = "Basic " & base64.encode(username & ":" & password)
# ... send request with the client