我有这个代码:
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(URL);
using (WebResponse myResponse = myRequest.GetResponse())
{
using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8))
{
result = sr.ReadToEnd();
}
}
Run Code Online (Sandbox Code Playgroud)
我想在完成此请求后运行此代码:
MessageBox.Show("Finish");
Run Code Online (Sandbox Code Playgroud)
此外,当我运行此代码时,我的程序变得冻结.我认为这个问题可以通过异步HttpWebRequest来解决.
你可以这样做(在异步方法中):
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(URL);
using (WebResponse myResponse = await myRequest.GetResponseAsync())
{
using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8))
{
result = sr.ReadToEnd();
}
}
MessageBox.Show("Finish");
Run Code Online (Sandbox Code Playgroud)
但我建议使用HttpClient
using (var client = new HttpClient())
{
var result = await client.GetStringAsync(URL);
}
MessageBox.Show("Finish");
Run Code Online (Sandbox Code Playgroud)
顺便说一句:通过使用GetStringAsync您使用您的网站正在使用的编码,可能不是UTF8
| 归档时间: |
|
| 查看次数: |
918 次 |
| 最近记录: |