httpwebrequests で奇妙なエラーが発生することがあります。
取得中のエラー:
ArgumentException was unhandled by user code
'' is not a supported encoding name.
私が実行しているコード:
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 3000;
request.ReadWriteTimeout = 3000;
request.Proxy = new WebProxy(p.ToString(), true);
response = (HttpWebResponse)request.GetResponse();
Encoding responseEncoding = Encoding.GetEncoding(response.CharacterSet);
using (StreamReader sr = new StreamReader(response.GetResponseStream(), responseEncoding))
{
if (response.StatusCode == HttpStatusCode.OK)
{
// do stuff
}
}
}
catch (WebException wexc1)
{
if (wexc1.Status == WebExceptionStatus.ProtocolError)
{
return false;
}
}
finally
{
if (response != null)
response.Close();
}
500回のリクエストに1回のように常に発生するわけではありません。コードが実際のエンコーディングを判断できないように感じます..しかし、これをどのように処理しますか?
現在、このエラーによりアプリケーションがクラッシュします