403禁止使用HttpWebRequest类

时间:2011-01-06 09:48:28

标签: c# httpwebrequest http-status-code-403

亲爱的, 当我尝试通过HttpWebRequest Class获取Web图像时,我遇到了403禁止消息。 我的代码列在下面。我该如何解决?谢谢!

public void getWebData()
    {
        string url = "http://www.bijint.com/hokkaido/tokei_images/HHMM.jpg";
        /*****  "HH" stands for hour of current time and "MM" for minute  *****/
        HttpWebRequest httpWebRequest = null;
        HttpWebResponse httpWebResponse = null;
        BinaryReader binaryReader = null;
        FileStream outputFile = null;
        BinaryWriter binaryWriter = null;
        StreamReader streamReader = null;

        try
        {
            httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
            httpWebRequest.Method = "POST";
            httpWebRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 GTB7.1 ( .NET CLR 3.5.30729)";
            httpWebRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

            httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();

            streamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8);
            string httpContent = streamReader.ReadToEnd();
            listBox1.Items.Add(httpContent);
        }
        catch (WebException wex)
        {
            listBox1.Items.Add("Exception occurred on request: " + wex.Message);
            if (wex.Status == WebExceptionStatus.ProtocolError)
                httpWebResponse = (HttpWebResponse)wex.Response;
        }
        finally
        {
            if (httpWebResponse != null)
                httpWebResponse.Close();
            if (binaryReader != null)
                binaryReader.Close();
            if (streamReader != null)
                streamReader.Close();
            if (outputFile != null)
                outputFile.Close();
            if (binaryWriter != null)
                binaryWriter.Close();
        }
    }

1 个答案:

答案 0 :(得分:1)

当从浏览器调用时,所述URL http://www.bijint.com/hokkaido/tokei_images/HHMM.jpg给出相同的403错误 - 它只是意味着所述资源在Web服务器上是安全的,并且必须提供一些凭据来访问它。您需要获取此信息(需要哪种凭据),然后更新代码以传递相同的凭据。