从ASP.NET文本框中获取参数并将其传递到URL

时间:2012-11-26 12:20:18

标签: c# asp.net vb.net

我正在使用自定义API执行查找IP并提供详细信息,例如地址,国家/地区等。我有我的API的网址,我必须用API替换“HOST”参数从我的ASP.NET页面输入文本框。

首先,我应该将文本框数据(包含IP)存储在字符串中。 然后我应该用我的API URL中的“HOST”参数替换这些数据。让URL执行查找并检索它找到的信息(城市,国家,ISP等),以便在我的ASP.NET页面中显示它。

如果不是传递一个IP地址,将多个IP地址从文本框传递到URL,获取相应的数据并在我的页面上显示它们,怎么可能?

有任何建议或想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来获取IP。如果您使用了SingleLine选项,那么将IP地址分开也无关紧要,您可以用空格或任何真正使用以下内容的方式将它们分开(C#):

MatchCollection matches = Regex.Matches(txtMyTextbox.Text, @"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}.*?", RegexOptions.SingleLine);

foreach(Match ipMatch in matches)
{
    //code for sending and receiving data from API here
}

您可以在http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx进行测试,我使用以下测试数据进行了测试(并非详尽无遗,但它证明了这一点):

  

192.168.0.1 192.168.0.3,192.168.0.2;
  192.168.0.5
  192.168.10.4,192.168.100.240#A#A#sdasda192.168.34.58   192.168.100.101" 192.168.100.102!192.168.100.103@192.168.100.104

我在行之间放置了一些空格以确保,但它没有在引号中显示。