2012-03-02 67 views
-2

我得到一个连接到我的网站的用户的IP读取数值,我想救他的国家在使用this exemple URL我的数据库,但我不知道如何访问信息页面从我的页面给我。C#ASP网从HTML页面

string ip = getUserIp(); //Getting the user's IP address 
string theUrl = "http://api.hostip.info/get_html.php?ip=" + ip; 

var country = "The country from theUrl"; //How do i get it? 

非常感谢您!

+0

把它从'Request'对象... – gdoron 2012-03-02 14:22:32

+1

你在你的定义代码隐藏控件?设置输出?否则访问这些元素?他们是标准的HTML元素吗?他们实际上是.NET控件吗?太少的信息提供简洁的答案。 – 2012-03-02 14:24:20

+2

你需要告诉我们你已经尝试了什么。这不是一个“做我的家庭作业”网站。 – deltree 2012-03-02 14:39:41

回答

5

你还没有给我们太多地工作着,但你可以尝试使用WebClient类访问的URL。

WebClient client = new WebClient(); 
string result = client.DownloadString(address); 

鉴于输出为以下内容,你想获得国家的价值...

Country: UNITED STATES (US) 
City: New York, NY 
IP: 207.46.197.32 

您可以String.Split()一些字符串操作解析结果:

var values = result.Split(new[]{Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries); 
var dictionaryValues = values.ToDictionary(
           value => value.Split(':')[0], 
           value => value.Split(':')[1]); 
var country = dictionaryValues["Country"]; // UNITED STATES (US) 
+0

那下载整个页面的输出,不以任何有意义的方式分离的值。没有答案。 – 2012-03-02 14:26:09

+5

这是对一个非常模糊的问题的简单回答。在OP提供澄清之前不能再提供。 – jrummell 2012-03-02 14:28:37

+2

既然我们正在猜测OPs的情况,那么既不会为未来的读者增加任何价值 - 这个问题(没有阐述)值得关闭,所以其他人认为污染社区也是不错的。即使有了现在更新的问题,这更符合要求。 – 2012-03-02 14:33:36

1

在您的代码背后或其他业务层:

WebClient client = new WebClient(); 
var value = client.DownloadString("http://api.hostip.info/get_html.php?ip=207.46.197.32"); 
+0

下载整个页面输出,而不是以任何有意义的方式分隔的值。没有答案。 – 2012-03-02 14:25:48