【问题标题】:Is there a way to get the returned URL from a 301 redirect using VBA exclusively?有没有办法专门使用 VBA 从 301 重定向中获取返回的 URL?
【发布时间】:2014-01-15 07:39:15
【问题描述】:

我有一长串我们公司的产品编号,然后在代码中将这些编号转换为 HTML,然后链接到产品的相应页面。指向页面的链接有许多 301 重定向,可以从杂乱/旧的/错误输入的/等内容到新的 SEO 友好 URL。

例如,像这样的:

site.com/12345

将被重定向到此页面:

site.com/product-name-12345

我没有用于比较产品名称的列表,因为它们每天都会被创建和销毁,并且网站会动态创建 URL(而不是从某种数据库或其他东西中提取)。

由于很多复杂的原因,我只能访问 Excel 来完成这项任务(万岁!)。我编写了(错误的)代码来打开 Internet Explorer,转到短 URL,然后将新地址复制到所需的任何内容中。这可行,但速度非常慢(如您所料)。我想知道是否有一个解决方案不依赖于等待 IE 打开,而是专门在 VBA 中运行?

我找到了很多方法来查看重定向是否发生,并且我找到了很多获取标头的方法,但是我还没有找到一种方法来获取发生的最终 URL。这些主要关注 WinHTTP.WinHTTPRequest.5.1,但似乎 Excel 不支持调用任何类型的 WinHTTPResponse(如 .NET 中的 HttpResponse)。

任何帮助将不胜感激,谢谢!

编辑:这在 Reddit 的 Excel 论坛的另一篇帖子中得到了回答。我需要的答案是 .Send 之后的 .Option(1)(如果其他人需要的话)。

Discussion can be read here

【问题讨论】:

  • 如果您得到了您需要的答案,请发布并接受。
  • 抱歉,当我第一次创建帖子时,我无法回答自己的问题/将其标记为正确答案,因为我的帐户太新了。

标签: vba excel http-redirect


【解决方案1】:

这在 Reddit 的 Excel 论坛的另一篇帖子中得到了回答。我需要的答案是 .Send 之后的 .Option(1) (如果其他人需要的话)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-23
    • 2013-06-11
    • 2021-12-08
    • 2021-01-06
    • 2020-10-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多