我需要对whois查找做一个whois。我创建的网站无法完成所有请求,因为它可能会被阻止。
所以,我需要在查找中发送访问者ip-adress。这是我目前的代码:
var name = "testadress.no";
var userIp = Request.ServerVariables["REMOTE_HOST"];
const string whoisServerAddress = "whois.host.no";
var strDomain = "-c utf-8 "+ name + "\r\n";
var bytDomain = Encoding.UTF8.GetBytes(strDomain.ToCharArray());
var tcp = new TcpClient();
tcp.Connect(whoisServerAddress, 43);
var s = tcp.GetStream();
s.Write(bytDomain, 0, strDomain.Length);
var sr = new StreamReader(tcp.GetStream(), Encoding.UTF8);
var strLine = "";
var result = new List<string>();
while (null != (strLine = sr.ReadLine()))
{
result.Add(strLine);
}
tcp.Close();
return result;
答案 0 :(得分:1)
我创建的网站无法完成所有请求,因为它可能会被阻止。
您正在滥用第三方服务。他们很可能拥有您使用该服务同意的服务条款,并且他们将速率限制放在适当的位置以强制执行它们。
您需要与他们联系,讨论正确使用其服务的可能性。
所以,我需要在查找中发送访问者ip-adress。
您cannot spoof your sender IP to be that of your website visitor:即使您这样做,也不会将回复发送回您的服务器。
@LIUFA在Javascript中执行此机制。
由于这不是由WebSockets和JavaScript doesn't let you open arbitrary socket connections等浏览器实现的协议,因此您也无法通过JavaScript执行此操作。