请问大家,
string strUrl="http://192.77.107.106/ecwp/ecw_wms.dll?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities";
byte[] buf = new byte[38192]; 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create( strUrl); 
HttpWebResponse response=(HttpWebResponse)request.GetResponse( ); 
Stream resStream = response.GetResponseStream( ); 
int count = resStream.Read( buf, 0, buf.Length ); 
string temp = System.Text.Encoding.Default.GetString( buf, 0,count ); 
resStream.Close( );  
为什么总是报异常:
未处理的“System.Net.WebException”类型的异常出现在 system.dll 中。
其他信息: 基础连接已经关闭: 该服务器提交了 HTTP 协议冲突。但是如果我换成普通网页就没事,比如http://www.baidu.com,请问大家这是怎么回事,谢谢各位

解决方案 »

  1.   

    你先用Server.UrlEncode编码一下再取
      

  2.   

    "http://192.77.107.106/ecwp/ecw_wms.dll?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities"
    通过ie你能访问这个url吗?
    如果不能你还要在iis里进行设置
    对dll的映射
      

  3.   

    public string  TestGet()
            {
                string url = "http://192.168.10.58/test.jsp";
                HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;            request.Headers.Add("dfsoft", "value");            HttpWebResponse response = request.GetResponse() as HttpWebResponse ;            Stream receiveStream = response.GetResponseStream();
                
                //string head = response.GetResponseHeader(); 
                
                Encoding encode = System.Text.Encoding.GetEncoding("GBK");            StreamReader readStream = new StreamReader(receiveStream, encode);            StringBuilder sb = new StringBuilder("");            Char[] read = new Char[256];            int count = readStream.Read(read, 0, 256);
                
                while (count > 0)
                {
                    String str = new String(read, 0, count);
                    sb.Append(str);
                    count = readStream.Read(read, 0, 256);
                }            string result = sb.ToString();            result = result.Replace("\r\n", "");            return result;        }
      

  4.   

    我就是想问问对普通网页的抓取和这种http://192.77.107.106/ecwp/ecw_wms.dll?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities网页有何区别?
    HTTP 协议冲突有可能是什么造成的啊
      

  5.   

    citymeteor(流星) ,你的方法也不行,一样的错误
      

  6.   

    如果ie能正常访问,httpwebrequest 考虑网络不稳定问题,可以加大timeout,或使用异步读取
    你如果不能确定httpwebrequest和ie对这个url的访问的具体情况,建议装一个抓包软件,看看
      

  7.   

    hdt(倦怠) :
    我在ie里可以正常访问,我访问的是本机,应该不存在网络问题,我用抓包软件看了,能够正常读取,你认为协议冲突是怎么回事〉???谢谢
      

  8.   

    byte[] buf = new byte[38192]; //这里??
    怎么确定是38192个字节
      

  9.   

    最好
    Stream resStream = response.GetResponseStream( ); byte[] bres  =  new byte[resStream.length];