diff --git a/Wox.Infrastructure/Http/Http.cs b/Wox.Infrastructure/Http/Http.cs
index 2cff5fc6fe..fc93d930a5 100644
--- a/Wox.Infrastructure/Http/Http.cs
+++ b/Wox.Infrastructure/Http/Http.cs
@@ -1,5 +1,6 @@
using System.IO;
using System.Net;
+using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using JetBrains.Annotations;
@@ -47,32 +48,27 @@ namespace Wox.Infrastructure.Http
/// Can't get response from http get
public static async Task Get([NotNull] string url, string encoding = "UTF-8")
{
-
- HttpWebRequest request = WebRequest.CreateHttp(url);
+ var request = WebRequest.CreateHttp(url);
request.Method = "GET";
- request.Timeout = 10 * 1000;
+ request.Timeout = 1000;
request.Proxy = WebProxy();
request.UserAgent = UserAgent;
var response = await request.GetResponseAsync() as HttpWebResponse;
- if (response != null)
+ response = response.NonNull();
+ var stream = response.GetResponseStream().NonNull();
+
+ using (var reader = new StreamReader(stream, Encoding.GetEncoding(encoding)))
{
- var stream = response.GetResponseStream();
- if (stream != null)
+ var content = await reader.ReadToEndAsync();
+ if (response.StatusCode == HttpStatusCode.OK)
{
- using (var reader = new StreamReader(stream, Encoding.GetEncoding(encoding)))
- {
- return await reader.ReadToEndAsync();
- }
+ return content;
}
else
{
- return string.Empty;
+ throw new HttpRequestException($"Error code <{response.StatusCode}> with content <{content}> returned from <{url}>");
}
}
- else
- {
- return string.Empty;
- }
}
}
}
\ No newline at end of file