使用vba访问安全的网站

是否可以使用HTTPS访问需要使用Excel登录/密码的网页?好吧,是和否。这是交易,为什么它不是那么直截了当。...

是否可以使用HTTPS访问需要使用Excel登录/密码的网页?好吧,是和否。这是交易,为什么它不是那么直截了当。

Computer and Website Security

首先,让我们定义术语

根据惯例,HTTPS是所谓SSL(安全套接字层)的标识符。这实际上与密码或登录没有任何关系。SSL所做的是在web客户端和服务器之间建立一个加密连接,这样就不会在这两个“透明”的服务器之间发送任何信息——使用未加密的传输。如果信息包括登录和密码信息,加密传输可以保护他们免受窥探……但加密密码不是一项要求。我使用“按约定”这个短语是因为真正的安全技术是SSL。HTTPS仅向服务器发出客户端计划使用该协议的信号。SSL可以以多种其他方式使用。

因此…如果您的计算机向使用SSL的服务器发送URL,并且该URL以HTTPS开头,则您的计算机会对服务器说:

“嘿,服务器先生,让我们就这个加密问题握手吧,这样从现在开始我们说的任何话都不会被坏人截获。完成后,请继续将URL地址的页面发送给我。”

服务器将发回用于设置SSL连接的密钥信息。这取决于你的电脑是否真的用它做些什么。

这是理解VBA在Excel中的作用的“关键”(双关语……好吧,索塔的本意)。VBA中的编程必须实际执行下一步,并在客户端实现SSL。

“真正的”web浏览器会自动执行此操作,并在状态行中显示一个小的锁定符号,以显示已完成此操作。但是,如果VBA只是将网页作为文件打开,并将其中的信息读入电子表格中的单元格中(这是一个非常常见的示例),如果没有一些额外的编程,Excel将无法做到这一点。服务器慷慨的握手和建立安全的SSL通信只是被Excel忽略了。

但是你可以用完全相同的方式阅读你要求的页面

为了证明这一点,让我们使用谷歌Gmail服务(以“https”开头)使用的SSL连接,并编写一个调用代码,以打开该连接,就像打开一个文件一样。

这会像读取简单文件一样读取网页。由于最新版本的Excel将自动导入HTML,因此在执行Open语句后,Gmail页面(减去动态HTML对象)将导入到电子表格中。SSL连接的目标是交换信息,而不仅仅是阅读网页,因此这通常不会让您走得很远。

要做更多的工作,您必须在ExcelVBA程序中使用某种方法来支持SSL协议,也可能支持DHTML。您最好从完整的Visual Basic开始,而不是使用Excel VBA。然后使用诸如Internet传输API WinInet之类的控件,并根据需要调用Excel对象。但是可以直接从Excel VBA程序使用WinInet。

WinInet是WinInet.dll的应用程序编程接口API。它主要用作Internet Explorer的主要组件之一,但您也可以直接从代码中使用它,也可以将其用于HTTPS。编写使用WinInet的代码至少是一项中等难度的任务。一般而言,所涉及的步骤包括:

  • 连接到HTTPS服务器并发送HTTPS请求
  • 如果服务器请求签名的客户端证书,请在附加证书上下文后重新发送请求
  • 如果服务器满意,则会话将通过身份验证

编写WinInet代码以使用https而不是常规HTTP有两个主要区别:

您还应该记住,交换登录名/密码的功能在逻辑上独立于使用https和SSL加密会话。你可以做一个或另一个,或两者兼而有之。在许多情况下,它们确实是同时发生的,但并不总是如此。而实现WinInet要求并不能自动响应登录/密码请求。例如,如果登录名和密码是web表单的一部分,则在将登录字符串“发布”到服务器之前,您可能必须找出字段的名称并从Excel VBA更新字段。正确响应web服务器的安全性是web浏览器工作的一个重要部分。另一方面,如果需要SSL身份验证,您可以考虑使用Internet Explorer对象从VBA内部登录。

底线是使用https和从Excel VBA程序登录到服务器是可能的,但不要期望在几分钟内编写完成这项工作的代码。

  • 发表于 2021-10-09 07:35
  • 阅读 ( 243 )
  • 分类:编程

你可能感兴趣的文章

如何在一分钟内对excel文件进行密码保护

... Excel通过使用密码锁定电子表格,使其易于加密。它只需要三个简单的步骤: ...

  • 发布于 2021-03-12 07:52
  • 阅读 ( 191 )

如何将excel数据集成到word文档中

... 只要您知道在电子表格中的哪里可以找到数据,就可以使用VBA访问并获取数据。 ...

  • 发布于 2021-03-13 07:56
  • 阅读 ( 238 )

5 excel文档设置您千万不要忘记检查

你在使用别人创建的电子表格吗?当您从头开始创建Excel电子表格时,您可以控制每个方面。当别人把它传给你时就不是这样了。 ...

  • 发布于 2021-03-13 08:07
  • 阅读 ( 166 )

如何构建vba宏的自定义excel工具栏

... 下面是如何开始使用自定义工具栏。 ...

  • 发布于 2021-03-13 16:39
  • 阅读 ( 361 )

如何恢复excelvba密码

...还是新XLSM文件中的密码,我们的过程略有不同。如果你使用的是前者,请跳过下一节。 ...

  • 发布于 2021-03-14 06:34
  • 阅读 ( 207 )

5个excel宏资源,用于自动化电子表格

...您可以“记录”并在触摸按钮时再次执行。更高级的例子使用VBA来自动化复杂的过程。 ...

  • 发布于 2021-03-14 21:59
  • 阅读 ( 218 )

如何在excel 2016中录制宏

在microsoftexcel中使用宏是实现任务自动化的最佳方法。我们将向您展示如何在Excel 2016中录制宏,以便您可以腾出时间,不再将时间浪费在重复操作上。 ...

  • 发布于 2021-03-15 08:22
  • 阅读 ( 210 )

excelvba初学者编程教程

... 下面介绍如何在Excel 2016中开始使用VBA。 ...

  • 发布于 2021-03-17 04:40
  • 阅读 ( 224 )

如何使用vba脚本从excel电子表格发送电子邮件

... CDO是Windows中使用的消息传递组件,从操作系统的早期版本就开始了。它以前被称为CDONTS,后来随着windows2000和XP的出现,被“windows2000的CDO”所取代。此组件已包含在Microsoft Word或Excel...

  • 发布于 2021-03-22 18:44
  • 阅读 ( 228 )

如何在microsoft word和excel中将“开发人员”选项卡添加到功能区

...向您展示“开发人员”选项卡的一些实际用途,以及如何使用它们创建更多自定义的Microsoft Office文档。 ...

  • 发布于 2021-03-23 10:44
  • 阅读 ( 426 )
duri0957
duri0957

0 篇文章