用c#2.0自带的WebRequest去访问网站,总是抛出“The remote server returned an error: (500) Internal Server Error”的异常,但用IE却可以打开,请问是什么原因?难道是网站阻止了WebRequest的访问?

解决方案 »

  1.   

    你头信息没有设置正确
    try HttpWebRequest
      

  2.   

    HttpWebRequest HttpWReq = 
        (HttpWebRequest)WebRequest.Create("http://www.contoso.com");
    // Turn off connection keep-alives.
    HttpWReq.KeepAlive = false;HttpWebResponse HttpWResp = (HttpWebResponse)HttpWReq.GetResponse();// Get the HTTP protocol version number returned by the server.
    String ver = HttpWResp.ProtocolVersion.ToString();
    HttpWResp.Close();
      

  3.   

    找个sniffer监视下IE访问时都有那些头信息,然后在HttpWebRequest的请求时时候加入这些头信息