-1

これは、HttpWebRequest を使用して URL を要求し、HttpWebResponse から応答を取得するコードです。しかし、httpwebresponse オブジェクトは内部サーバー エラーである例外をスローします!

url="http://www.google.com/"

Uri urlCheck = new Uri(url);
request = (HttpWebRequest)WebRequest.Create(url); 
request.Timeout = 5000000;
response = (HttpWebResponse)request.GetResponse();    //Here Getting The Exception..
receiveStream = response.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
strmRead = new StreamReader(receiveStream, encode);
result = strmRead.ReadToEnd();
4

2 に答える 2

1

クライアントが Cookie をサポートしていない場合、サイトがクラッシュしているようです。したがって、CookieContainer を設定することで、クライアントでの Cookie のサポートを有効にすることができます。

using System;
using System.IO;
using System.Net;

class Program
{
    static void Main()
    {
        var url = "http://links.casemakerlegal.com/states/MS/books/Case_Law/results?search[Cite]=77%20So.3d%201094";
        var request = (HttpWebRequest)WebRequest.Create(url);
        request.CookieContainer = new CookieContainer();
        using (var response = request.GetResponse())
        using (var stream = response.GetResponseStream())
        using (var reader = new StreamReader(stream))
        {
            string result = reader.ReadToEnd();
            Console.WriteLine(result);
        }
    }
}
于 2013-02-06T08:06:55.253 に答える
0

「内部サーバー エラー」とは、呼び出しているサーバーの内部エラーを意味します。

これは、あなたとは関係のないサーバー上の一時的な問題である可能性があります。または、サーバーに渡すデータがサーバーに気に入らない可能性があります。以下を確認してください。

  • 77%20So.3d%201094有効な検索値ですか?
  • リクエストと一緒に API キーを送信することになっていますか?
  • HTTP ユーザー名/パスワード ダイジェストや X509 証明書などを使用して、自分自身を認証する必要がありますか?
于 2013-02-06T08:05:49.763 に答える