微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在 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 举报,一经查实,本站将立刻删除。