ローカルの Apache サーバーでホストされている HTML ページがあり、以下のコードを使用してそのページに HTTP Web リクエストを送信しようとしています。コードは Web 例外に遭遇し、invalid argument exception
あまりにもスローします。これは、コードの catch セクションでストリームからデータを取得するために使用されるコードで発生します。
private void b1_Click_1(object sender, RoutedEventArgs e)
{
System.Uri targetUri = new System.Uri(@"http://192.168.1.4/san/index1.html");
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
request.BeginGetResponse(new AsyncCallback(ReadWebRequestCallback), request);
}
private void ReadWebRequestCallback(IAsyncResult callbackResult)
{
HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState;
try
{
HttpWebResponse myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult);
using (StreamReader httpwebStreamReader = new StreamReader(myResponse.GetResponseStream()))
{
string results = httpwebStreamReader.ReadToEnd();
//TextBlockResults.Text = results; //-- on another thread!
// Dispatcher.BeginInvoke(() => TextBlockResults.Text = results);
}
myResponse.Close();
}
catch (WebException ex)
{
using (StreamReader reader = new StreamReader(ex.Response.GetResponseStream()))
{
Debug.WriteLine(reader.ReadToEnd());
}
}
}