IP数据查找 - C#

时间:2015-01-21 01:52:05

标签: c# web automation ip lookup

好吧,所以我已经多次搜索过这个问题了,但是每个人都提出了相当不错的选择,例如:“Selenium”工作正常,但没有firefox就不能使用(或者甚至在我的知识API中也是如此) ?)。

我有这段代码:

 public byte[] GetFileViaHttp(string url)
        {
            using (WebClient client = new WebClient())
            {
                return client.DownloadData(url);
            }
        }

然后我也有这段代码:

        byte[] result = GetFileViaHttp(@"http://ip-lookup.net/");
        string str = Encoding.UTF8.GetString(result);
        richTextBox1.Text = str;

工作正常,返回我的IP信息,但我想用其他IP地址自动执行此操作,而不是返回我自己的IP地址。 怎么做? 我的意思是,我希望API采用txtBox1.Text(IP)&将详细信息打印到richTextBox1.Text(主持人/国家/地区)..

怎么可以这样做?

1 个答案:

答案 0 :(得分:2)

我浏览了网站,找到了一份详细说明您想要的帮助文档。

只需将IP值作为未命名的查询字符串参数传递:

http://ip-lookup.net/?127.0.0.1

在您的代码中:

byte[] result = GetFileViaHttp(string.Format("http://ip-lookup.net?{0}", ipAddress));

您要将字符串IP地址注入为ipAddress。

您可以找到他们的帮助页here。我找了一份法律协议,但我找不到合法协议,所以请自担风险和谨慎使用。

<强>更新

如果您获得403,则需要传递用户代理标头。您的WebClient实例可以修改为在请求中包含标题。

public byte[] GetFileViaHttp(string url)
{
    using (WebClient client = new WebClient())
    {
        client.Headers.Add("User-Agent: Other");    
        return client.DownloadData(url);
    }
}