250        public bool GetHtmlContent(string url, string method, string cookie)
251        {
252            try
253            {
254                string urlPrefix, tmpUrl;
255                tmpUrl = url;
256                urlPrefix = tmpUrl.Substring(0, tmpUrl.IndexOf("//")); //get 'http' or 'https'
257                tmpUrl = tmpUrl.Substring(tmpUrl.IndexOf("//") + 2);258               
259                if (tmpUrl.IndexOf("/") != -1)
260               {
261                   urlPrefix = urlPrefix + "//" + tmpUrl.Substring(0, tmpUrl.IndexOf("/"));
262               }
263               else
264                {
265                    urlPrefix = urlPrefix + "//" + tmpUrl;
266               }
提示错误是
2013-01-11 14:37:40 Exception: 长度不能小于 0。
参数名: length
   在 System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   在 SkyDriveManager.baseHttpAbstract.GetHtmlContent(String url, String method, String cookie) 位置 D:\SDmanager\ShareMeManager\baseHttpAbstract.cs:行号 256
求大神啊 毕业设计啊这是

解决方案 »

  1.   

    url看一下传过来的是不是空的啊
      

  2.   

    你看看Substring取内容,你取得长度和位置,正确吗,假如字符串就2字符,你非得取3个字符,肯定错
      

  3.   

    在Substring之前,需要判断一下,被截取的字符串是否够长或者为空
      

  4.   

    tmpUrl.IndexOf("//"))要看看这个是什么内容啦。
      

  5.   

    看一下tmpUrl.IndexOf("//")是不是等于-1
      

  6.   

    应该是某次url的值等于空所以报这个错,你可以多试几次看看值为什么为空
      

  7.   

    看看你的url是不是写的有问题
      

  8.   

    你这个方法没有问题,你看一下是不是这个方法被循环调用了,是不是某一次url为空了
      

  9.   

    tmpurl是不是为空,
    用Substring进行字符串截取时,最好加判断,不为-1时才执行下面的操作
    别外,能用正则的就用正则,用正则至少不会报这样的错误出来