network issues
This commit is contained in:
@@ -6,6 +6,7 @@ using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using Xamarin.Essentials;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Pixiview.Utils
|
||||
@@ -19,6 +20,22 @@ namespace Pixiview.Utils
|
||||
private const string userFolder = "user-profile";
|
||||
private const string illustFile = "illust.json";
|
||||
|
||||
public static bool NetworkAvailable
|
||||
{
|
||||
get
|
||||
{
|
||||
try
|
||||
{
|
||||
return Connectivity.NetworkAccess == NetworkAccess.Internet
|
||||
|| Connectivity.NetworkAccess == NetworkAccess.ConstrainedInternet;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task<IllustData> LoadIllustData()
|
||||
{
|
||||
var file = Path.Combine(PersonalFolder, illustFile);
|
||||
@@ -144,6 +161,7 @@ namespace Pixiview.Utils
|
||||
catch (Exception ex)
|
||||
{
|
||||
tries++;
|
||||
System.Threading.Thread.Sleep(400);
|
||||
App.DebugError("try.do", $"tries: {tries}, error: {ex.Message}");
|
||||
}
|
||||
}
|
||||
@@ -163,28 +181,31 @@ namespace Pixiview.Utils
|
||||
{
|
||||
BaseAddress = new Uri($"{uri.Scheme}://{uri.Host}")
|
||||
};
|
||||
using (var request = new HttpRequestMessage(HttpMethod.Get, uri.PathAndQuery)
|
||||
return TryCount(() =>
|
||||
{
|
||||
Version = new Version(2, 0)
|
||||
})
|
||||
{
|
||||
request.Headers.Referrer = referer == null ? Configs.Referer : new Uri(referer);
|
||||
request.Headers.Add("user-agent", Configs.UserAgent);
|
||||
if (headers != null)
|
||||
using (var request = new HttpRequestMessage(HttpMethod.Get, uri.PathAndQuery)
|
||||
{
|
||||
foreach (var (header, value) in headers)
|
||||
Version = new Version(2, 0)
|
||||
})
|
||||
{
|
||||
request.Headers.Referrer = referer == null ? Configs.Referer : new Uri(referer);
|
||||
request.Headers.Add("user-agent", Configs.UserAgent);
|
||||
if (headers != null)
|
||||
{
|
||||
request.Headers.Add(header, value);
|
||||
foreach (var (header, value) in headers)
|
||||
{
|
||||
request.Headers.Add(header, value);
|
||||
}
|
||||
}
|
||||
return client.SendAsync(request).Result;
|
||||
}
|
||||
return TryCount(() => client.SendAsync(request).Result);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public static class Configs
|
||||
{
|
||||
public static readonly WebProxy Proxy = new WebProxy("10.0.10.100", 8088);
|
||||
public static readonly WebProxy Proxy = new WebProxy("router.tsanie.us", 8088);
|
||||
public static readonly Uri Referer = new Uri("https://www.pixiv.net/");
|
||||
|
||||
public const int MaxThreads = 3;
|
||||
|
||||
Reference in New Issue
Block a user