URLからWebページのHTMLコンテンツの文字列を返すためにC#でメソッドを作成しようとしています。いくつかの異なる方法を試しましたが、エラーが発生しましたSystem.Net.WebException:基になる接続が閉じられました:受信時に予期しないエラーが発生しました。System.Net.WebException:基になる接続が閉じられました:受信時に予期しないエラーが発生しました
次は、ローカルで正常に動作しますが、リモートサーバー上で実行している場合、上記のエラーを取得します。それが持つマシン上でIEでURLを開くことで解決した前
public static string WebPageRead(string url)
{
string result = String.Empty;
WebResponse response = null;
StreamReader reader = null;
try
{
if (!String.IsNullOrEmpty(url))
{
HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
response = request.GetResponse();
reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
result = reader.ReadToEnd();
}
}
catch (Exception exc)
{
throw exc;
}
finally
{
if (reader != null)
{
reader.Close();
}
if (response != null)
{
response.Close();
}
}
return result;
}
問題のあるURLは、Webブラウザまたは別のHTTPクライアントを使用して要求できますか? Internet Explorer用に設定されたプロキシがありますか、またはリモートサーバーにNTLMなどの認証が必要ですか? – Lucero