背景。我有一个抓取合作伙伴网站的服务。他们的网站通过IP地址阻止“类似机器人”行为。他们不会自己控制他们的服务器,因此他们希望我经常更改我的爬虫的IP地址(例如每分钟)。爬网程序当前正在作为Azure云服务运行。
所以我的问题是。您将如何以编程方式更改Azure服务器的IP地址?
我可以使用代理...但该网站正在SSL上运行,所以我不确定这是一个选项。
我可以使用VPN连接...但我不确定是否可以通过编程方式从Cloud Service / VM中拨打VPN?我正在使用C#/。NET。
最后。我尝试进行VIP交换,实际上在几秒钟内就给了我一个新的IP。但不幸的是,这仅在将表格转换为生产时有效。如果没有运行暂存,我在尝试从生产切换到暂存时会出错。为什么会被阻止?
答案 0 :(得分:1)
您无法以编程方式更改部署的IP地址,除了关闭部署(释放IP地址)然后重新启动它(以及您可以以编程方式执行,或通过PowerShell执行) 。另请注意,如果在同一部署中有多个虚拟机,则每个VM将共享相同的公共IP地址。
请注意,对于虚拟机(与Web /工作者角色云服务相比),如果您有一台虚拟机,则可以停止VM,然后重新启动它,您将获得一个虚拟机新IP地址(确实,实际上,无法保证您将获得不同的IP地址,因此更准确地说,您将分配IP地址),同时保留VM的状态。然而,关机和启动并不是一个瞬时的操作系统,并且它不会为您提供每分钟的IP地址(并且您的VM最终会在几乎所有时间都处于脱机关闭状态或启动状态),因此无法满足你的要求。