CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

各位老大,我问个问题啊

楼主sunkangta(●●●●●)2004-09-02 22:45:38 在 .NET技术 / C# 提问

using   System;  
  using   System.Collections;  
  using   System.Net;  
   
   
  namespace   ConsoleApplication1  
  {  
  ///   <summary>  
  ///   类名:ResolvDNS  
  ///   作用:关于IP的操作  
  ///   </summary>  
  class   ResolvDNS  
  {  
  IPAddress[]   m_arrIPs;  
  public   void   Resovle(string   strhost)  
  {  
  IPHostEntry   iphe=Dns.GetHostByName(strhost);  
  m_arrIPs=iphe.AddressList;  
  }  
  public   IPAddress   this[int   nIndex] {  
  get  
  {  
  return   m_arrIPs[nIndex];  
  }  
  }  
  public   int   Count //返回IP个数  
  {  
  get  
  {  
  return   m_arrIPs.Length;  
  }  
  }  
  }  
  public   class   Class1  
  {  
  static   void   Main(string[]   args)  
  {  
  Console.WriteLine("Please   Input   Web   Address:");  
  string   getDNS   =   Console.ReadLine();  
  ResolvDNS   myDNS   =   new   ResolvDNS();  
  myDNS.Resovle(getDNS);  
  int   nCount   =   myDNS.Count;  
  Console.WriteLine("Found   {0}   IP   Address   at   HostName!",nCount);  
  for(int   i=0;   i   <   nCount;   i++)  
  {  
  Console.WriteLine("第{0}个地址是{1}",i,myDNS[i]);  
  }  
  }  
  }  
  }  
   
   
  请问为什么我在输入网址后就出错呢   ? 问题点数:20、回复次数:9Top

1 楼Firestone2003(笨笨小猪)回复于 2004-09-02 22:49:28 得分 0

报什么错啊??  
  Top

2 楼sunkangta(●●●●●)回复于 2004-09-02 22:53:19 得分 0

Please   Input   Web   Address:  
  http://www.163.com  
   
  未处理的异常:   System.Net.Sockets.SocketException:   请求的名称有效,但是没有找到  
  请求的类型的数据。  
        at   System.Net.Dns.GetHostByName(String   hostName)  
        at   ConsoleApplication1.ResolvDNS.Resovle(String   strhost)   in   e:\cpp\consoleapp  
  lication1\class1.cs:line   18  
        at   ConsoleApplication1.Class1.Main(String[]   args)   in   e:\cpp\consoleapplicatio  
  n1\class1.cs:line   44  
  Top

3 楼Firestone2003(笨笨小猪)回复于 2004-09-02 22:59:31 得分 10

测试了一下  
  输入可查询的网址没有报错  
  输入不可查询的网址报错了  
  主要是你的程序没有异常处理  
   
  IPHostEntry   iphe=Dns.GetHostByName(strhost);  
  m_arrIPs=iphe.AddressList;  
  把这个修改一下  
  try  
  {  
  IPHostEntry   iphe=Dns.GetHostByName(strhost);  
  m_arrIPs=iphe.AddressList;  
  }  
  catch(Exception   ex)  
  {  
  Console.WriteLine(ex.Message);  
  return;  
  }  
   
   
  Top

4 楼Firestone2003(笨笨小猪)回复于 2004-09-02 23:00:09 得分 0

你的输入应该是这样的  
  www.163.com  
  不用加上httpTop

5 楼yhcs(风中的小刀)回复于 2004-09-02 23:05:11 得分 5

agree   Firestone2003(笨笨小猪)   的  
  刚刚测试了一下  
  ---------------  
  Please   Input   Web   Address:  
  www.163.com  
  Found   10   IP   Address   at   HostName!  
  第0个地址是202.106.168.109  
  第1个地址是202.106.168.121  
  第2个地址是202.108.36.153  
  第3个地址是202.108.36.155  
  第4个地址是202.108.36.156  
  第5个地址是202.108.36.167  
  第6个地址是202.108.36.172  
  第7个地址是202.108.36.196  
  第8个地址是202.106.168.103  
  第9个地址是202.106.168.104Top

6 楼sunkangta(●●●●●)回复于 2004-09-02 23:08:01 得分 0

晕~原来不能加http://,  
  可是万一别人输入了“http://”怎么办呢?  
  怎么去?Top

7 楼sunkangta(●●●●●)回复于 2004-09-02 23:11:06 得分 0

看了Firestone2003(笨笨小猪)   的解决方法,搞定了,谢谢哦Top

8 楼sunkangta(●●●●●)回复于 2004-09-02 23:15:41 得分 0

不过还是弹出  
   
   
  未处理的异常:   System.Net.Sockets.SocketException:   请求的名称有效,但是没有找到  
  请求的类型的数据。  
        at   System.Net.Dns.GetHostByName(String   hostName)  
        at   ConsoleApplication1.ResolvDNS.Resovle(String   strhost)   in   e:\cpp\consoleapp  
  lication1\class1.cs:line   18  
        at   ConsoleApplication1.Class1.Main(String[]   args)   in   e:\cpp\consoleapplicatio  
  n1\class1.cs:line   44  
   
  这个,有方法把他屏蔽掉吗?Top

9 楼hnhl(荒凉)回复于 2004-09-02 23:29:07 得分 5

应该校验输入的网址,另要做异常处理Top

相关问题

  • 各位老大帮帮我!!!!!
  • 各位老大,我问个比较原始的问题。(Wave Alee)
  • 各位老大,谁能帮帮我,一简单问题,高分!!
  • 各位老大,我有一个小问题........
  • 各位老大,解决我的问题奉送200分!!
  • 各位老大帮帮我关于锁表的问题
  • 还是SOCKET问题,各位老大,帮帮我啊。
  • 郁闷,各位老大帮我看看是什么问题
  • 各位老大:
  • 各位老大!

关键词

  • ip
  • arrips
  • resolvdns
  • mydns
  • console
  • using system

得分解答快速导航

  • 帖主:sunkangta
  • Firestone2003
  • yhcs
  • hnhl

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo