Excel vba登录到网站



我正在尝试登录网站:https://cube.tradejini.com/#/并检索cookie信息。

下面是我的html代码。。但验证凭据失败,请指导任何人。。因为我是VBA的新手。

还要注意,该网页需要3个字段进行验证。用户名、密码和一个问题。

url=";https://cube.tradejini.com/#/">

With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "POST", url, False
.setRequestHeader "REFERER", url
.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
.setRequestHeader "content-type", "application/json"
.setRequestHeader "Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
.setRequestHeader "Accept-Language", "en-us,en;q=0.5"
.setRequestHeader "Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
.SetCredentials "TSUser1", "Password", "1989"
.send        
strCookie = .GetAllResponseHeaders
End With

您将无法在该网站上使用SetCredentials((,因为登录使用POST的表单主体以以下格式提交您的登录凭据:

"jData=
{
"uid":"TESTUSER1",
"pwd":"580c16cbb8092433538a5155ad8852974a1f44fe38bf9cc975cbe86a35639d18",
"factor2":"1985",
"apkversion":"20220318",
"imei":"da30a574e60f7a54e4beecfb9ea701d9",
"vc":"NOREN_WEB",
"appkey":"87b39b109b81a7b3a0173370043304a9ebfc8af19593d9acc9b5fdef7669bdc9",
"source":"WEB",
"addldivinf":"Chromium Edge-105.0.1343.33"
}"

其中uid=用户名,pwd=密码factor2=出生日期。请注意,提交密码时会对其进行散列处理,但不会对其进行加盐处理,因此相同的密码==相同的散列。在浏览器中按F12->填写您的登录信息->在开发工具>网络选项卡单击QuickAuth并选择有效负载选项卡以查看密码的哈希。下面是一篇文章,介绍了使用VBA在post表单体中发送JSON对象的过程,您可以按照VBA来格式化代码。此外,请注意,SetCredentials((中的第三个参数用于表示请求是发送到代理还是直接发送到服务器的标志。你不能用它作为你的出生日期。

最新更新