2017-10-05 54 views
0

我想从这个URL得到HTML源歌厅HTML源代码:“http://www.nguoiduatin.vn/con-sot-gia-ve-may-bay-cuc-hang-khong-noi-chua-cham-tran-a341336.html”使用HttpWebRequest和HttpWebResponse和得到这个错误: 远程服务器返回错误:(500)内部服务器错误。 的问题是,我可以从许多其他网站的HTML源代码,除了这个,我也可以正常访问使用浏览器的网页,波纹管是我的代码片段:故障使用。NET的HttpWebRequest

private string getHTMLFromURL(string url) 
    { 
     try 
     { 
      WriteLog("getting html source from :" + url); 
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

      if (response.StatusCode == HttpStatusCode.OK) 
      { 
       WriteLog("response from "+url + "is OK, start get html source"); 
       Stream receiveStream = response.GetResponseStream(); 
       StreamReader readStream = null; 

       if (response.CharacterSet == null) 
       { 
        readStream = new StreamReader(receiveStream); 
       } 
       else 
       { 
        readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet)); 
       } 

       string data = readStream.ReadToEnd(); 

       response.Close(); 
       readStream.Close(); 
       return data; 
      } 
      else 
      { 
       WriteLog("cannot get html source from "+url+" response status code = "+ response.StatusCode); 
       return null; 
      } 
     } 
     catch (Exception ex) 
     { 
      WriteLog("Exception in getHTMLFromURL message = " + ex.Message); 
      return null; 
     } 
    }  

那么,谁能告诉我有什么问题?

回答

0

你的服务器需要的UserAgent

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.UserAgent = "SO/1.0"; 

这是所有

+0

感谢,这是工作。但是为什么要投我的问题,我花了一天的时间来寻找这个问题的原因,并在这里总是问我最后的选择。 – user2905416

+0

@ user2905416取而代之,我提高了它。我不会回答,如果我低估了它 – Eser

+0

对不起,谢谢。 – user2905416