如何在 BOT 运行时仅从我的 PC 输出 IPv4 地址

问题描述

我正在尝试从我需要的站点获取一些数据,并且我正在尝试遵守本文中的规则(“给另一方的消息”的一半)> http://blog.strictly-software.com/2010/04/banning-bad-bots-with-mod-rewrite.html 不要过度-抓取它,更改用户代理和引用者,我一直在使用代理,直到它们被阻止,但我遇到了 2 个问题。

BOT 是一个同步进程,有超时以停止对网站的任何攻击,我只爬了一点,但我有一个问题,因为我的 ISP 是 BT,他们使用 IPv6 地址,因此在远程服务器日志文件中他们显然看到我的 IPv6 固定地址很多,如果他们愿意,可以禁止它。

如果我只是转到 URL http://icanhazip.com,它会输出 2a00:23d8:1d9b:bd01:4ae:d9b1:7162:ff79。

如果我找到一个强制 IPv4 https://ipv4.lafibre.info/ip.php 的特殊 URL,它会输出 81.154.127.227。这在 BT 中发生了很大变化,几乎每隔几天就会发生变化,而 IPv6 地址保持不变,而 IPv4 地址变化很大,并且如果进行地理 IP 位置查找,则会在我的本地范围内反弹。

问题显然是我正在抓取的站点阻止了我的 IPv6 地址,因为它必须经常出现在他们的日志文件中。

所以问题是如何强制我的 BOT 仅输出 IPv4 地址,以便远程服务器看到该地址而不是永久的 IPv6 地址?

此外,在尝试解析 IPAddress 时,IPAddress.Parse 函数不适用于 IPv6 地址,例如

Dim photoId : photoId = ""
For Each x In imagearray
    If objXmlHttp.Status = 200 Then
        
        If Len(photoId) = 0 Then
            photoId = oJSON.data("id")
        Else
            photoId = photoId & "|" & oJSON.data("id")
        End If
        
    End If
Next

Dim photoarray : photoarray = Split(photoId,"|")
Response.Write "All ids in this array " & Join(photoarray,",")

那么在 C# 中是否存在不同的 IPv6 地址的 IPAddress 类型,或者解析 IPv6 地址的不同方法,它是什么?

还是我应该只从返回 IPv6 地址的页面返回字符串?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)