首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用vbs对webserver进行http-basic-auth

使用vbs对webserver进行http-basic-auth
EN

Stack Overflow用户
提问于 2017-05-31 22:35:02
回答 1查看 776关注 0票数 0

我需要使用vbscript连接到need服务器。使用powershell,这是完美无瑕的:

代码语言:javascript
复制
$url = "https://someserver:9200/?q=name:Hans"

$headers = @{ Authorization = "Basic c29tZXVzZXI6c29tZXBhc3M=" }

$result = Invoke-WebRequest -Uri $url -Method Post -Body $body -ContentType application/x-www-form-urlencoded -Headers $headers

现在我需要用vbscript做同样的事情:

代码语言:javascript
复制
url = "https://someserver:9200/?q=name:Hans"

Set xmlHttp = CreateObject("WinHTTP.WinHTTPRequest.5.1")
xmlHttp.Open "POST", url, false
xmlHttp.SetRequestHeader "Authorization", "Basic c29tZXVzZXI6c29tZXBhc3M="
xmlHttp.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlHttp.send

遗憾的是,这给了我一个错误:

代码语言:javascript
复制
A certificate is required to complete client authentication

我做错了什么?

beMoD

EN

回答 1

Stack Overflow用户

发布于 2017-06-01 02:19:51

它可以在PowerShell中工作,因为WebRequest对象设置了一组默认参数,并且它看起来像WinHTTPRequest COM (https://msdn.microsoft.com/en-us/library/windows/desktop/aa383998(v=vs.85).aspx对象不能。为了手动设置这些属性,您需要使用WinHTTPRequest对象的.Option属性来设置具有与所需的WinHTTPRequest枚举匹配的值的索引:(https://msdn.microsoft.com/en-us/library/windows/desktop/aa384108(v=vs.85).aspx。例如:

代码语言:javascript
复制
xmlHttp.Option(0) = "http_requester/0.1"
xmlHttp.Option(4) = 13056
xmlHttp.Option(6) = "True"
xmlhttp.Option(12) = "True"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44287633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档