2

背景。我有一项正在抓取合作伙伴网站的服务。他们的网站通过 IP 地址阻止“类似机器人”的行为。他们自己不控制他们的服务器,所以他们希望我经常(例如每分钟)更改我的爬虫的 IP 地址。爬网程序当前作为 Azure 云服务运行。

所以我的问题是。您将如何以编程方式更改 Azure 服务器的 IP 地址?

我可以使用代理...但是该站点在 SSL 上运行,所以我不确定这是一个选项。

我可以使用 VPN 连接...但我不确定是否可以从云服务/VM 中以编程方式拨打 VPN?我正在使用 C#/.NET。

最后。我尝试进行 VIP 交换,它实际上在几秒钟内给了我一个新 IP。但不幸的是,这仅在从 Staging 切换到 Production 时才有效。如果没有暂存运行,则在尝试从生产切换到暂存时出现错误。为什么会被阻止?

4

1 回答 1

1

您不能以编程方式更改部署的 IP 地址,除了关闭部署(释放 IP 地址)然后重新启动它(您可以以编程方式或通过 PowerShell 进行)。另请注意,如果您在同一部署中有多个虚拟机,则每个 VM 将共享相同的公共 IP 地址。

请注意,使用虚拟机(与 web/worker 角色云服务),如果您有一个虚拟机,您可以停止虚拟机,然后重新启动它,您将获得一个新的 IP 地址(好吧,实际上,没有保证您将获得不同的 IP 地址,因此更准确地说,您将被分配一个 IP 地址)同时保留您的 VM 的状态。然而,关闭和启动不是即时操作,它不会为您提供每分钟的 IP 地址(并​​且您的虚拟机最终会一直离线关闭或启动),所以它不会满足你的要求。

于 2013-08-18T11:47:15.520 回答