Skip to content

Commit 0df38d8

Browse files
committed
Fixes; refactoring; updates; integrates PR FlareSolverr#22, FlareSolverr#26, FlareSolverr#27, FlareSolverr#29; change branch
1 parent 9e7c3a1 commit 0df38d8

File tree

5 files changed

+33
-22
lines changed

5 files changed

+33
-22
lines changed

sample/FlareSolverrSharp.Sample/FlareSolverrSharp.Sample.csproj

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
<Version>3.0.8</Version>
99
</PropertyGroup>
1010

11+
<ItemGroup>
12+
<PackageReference Include="JetBrains.Annotations" Version="2024.3.0" />
13+
</ItemGroup>
14+
1115
<ItemGroup>
1216
<ProjectReference Include="..\..\src\FlareSolverrSharp\FlareSolverrSharp.csproj" />
1317
</ItemGroup>

sample/FlareSolverrSharp.Sample/Program.cs

+12-12
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,18 @@ public static async Task Main()
2525

2626
var client = new HttpClient(handler);
2727

28-
var x = await client.GetAsync(Settings.ProtectedUri);
29-
30-
Console.WriteLine(x);
31-
Console.WriteLine( ChallengeDetector.IsClearanceRequiredAsync(x));
32-
/*foreach (KeyValuePair<string, IEnumerable<string>> pair in x.Headers) {
33-
Console.WriteLine(pair);
34-
}*/
35-
foreach (var y in x.Headers.Server) {
36-
37-
Console.WriteLine(y.Product.Name);
38-
}
39-
// Assert.IsTrue(c.Message.Contains("Error connecting to FlareSolverr server"));
28+
HttpRequestMessage[] rg =
29+
[
30+
new(HttpMethod.Get, "https://ascii2d.net/search/url/https://pomf2.lain.la/f/fy32pj5e.png"),
31+
new(HttpMethod.Get, "https://ascii2d.net/search/url/https://i.redd.it/xixxli0axz7b1.jpg"),
32+
];
33+
34+
await Parallel.ForEachAsync(rg, async (x, y) =>
35+
{
36+
var res = await client.SendAsync(x, y);
37+
Console.WriteLine($"{x.RequestUri} -> {res.StatusCode}");
38+
return;
39+
});
4040
}
4141

4242
}

src/FlareSolverrSharp/FlareSolverrSharp.csproj

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<PackageId>FlareSolverrSharp</PackageId>
66
<RootNamespace>FlareSolverrSharp</RootNamespace>
77
<LangVersion>latest</LangVersion>
8-
<Version>3.0.8</Version>
8+
<Version>3.0.9</Version>
99
<Authors>Diego Heras (ngosang)</Authors>
1010
<Description>FlareSolverr .Net / Proxy server to bypass Cloudflare protection.</Description>
1111
<PackageTags>flaresolverr, flaresolver, cloudflare, solver, bypass, protection, solving, library, cloudflaresolver, delegatinghandler, recaptcha, captcha, javascript, challenge, utilities</PackageTags>
@@ -14,6 +14,11 @@
1414
<PackageLicenseUrl>https://github.com/ngosang/FlareSolverrSharp/blob/master/LICENSE</PackageLicenseUrl>
1515
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1616
<AssemblyName>FlareSolverrSharp</AssemblyName>
17+
<DefineConstants>JETBRAINS_ANNOTATIONS;TRACE</DefineConstants>
18+
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
19+
<PublishSingleFile Condition="'$(Configuration)' == 'Release|AnyCPU'">true</PublishSingleFile>
20+
<PublishTrimmed>True</PublishTrimmed>
21+
<!-- <PublishSingleFile>true</PublishSingleFile> -->
1722
</PropertyGroup>
1823

1924
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -26,7 +31,8 @@
2631

2732
<ItemGroup>
2833
<PackageReference Include="Flurl.Http" Version="4.0.2" />
34+
<PackageReference Include="JetBrains.Annotations" Version="2024.3.0" />
2935
<PackageReference Include="System.Text.Json" Version="8.0.5" />
3036
</ItemGroup>
3137

32-
</Project>
38+
</Project>

src/FlareSolverrSharp/Solvers/FlareSolverr.cs

+8-8
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,13 @@ private async Task<T> SendFlareSolverrRequestInternalAsync<T>(HttpContent flareS
188188
T result = default;
189189

190190
//https://github.com/FlareSolverr/FlareSolverrSharp/pull/27/files
191+
await Func();
191192

192193
//todo: what is this "semaphore locker" for
193-
await s_locker.LockAsync(async () =>
194+
// await s_locker.LockAsync(Func);
195+
return result;
196+
197+
async Task Func()
194198
{
195199
HttpResponseMessage response;
196200

@@ -219,8 +223,7 @@ await s_locker.LockAsync(async () =>
219223
}
220224

221225
// Don't try parsing if FlareSolverr hasn't returned 200 or 500
222-
if (!AllowAnyStatusCode
223-
&& (response.StatusCode is not (HttpStatusCode.OK or HttpStatusCode.InternalServerError))) {
226+
if (!AllowAnyStatusCode && (response.StatusCode is not (HttpStatusCode.OK or HttpStatusCode.InternalServerError))) {
224227
throw new FlareSolverrException($"Status code: {response.StatusCode}");
225228
}
226229

@@ -231,7 +234,7 @@ await s_locker.LockAsync(async () =>
231234

232235
// result = await JsonSerializer.DeserializeAsync<FlareSolverrResponse>(resContent, options);
233236

234-
result = JsonSerializer.Deserialize<T>(resContent, typeInfo);
237+
result = JsonSerializer.Deserialize(resContent, typeInfo);
235238
}
236239
catch (Exception) {
237240
throw new FlareSolverrException($"Error parsing response, check FlareSolverr. Response: {resContent}");
@@ -273,10 +276,7 @@ await s_locker.LockAsync(async () =>
273276
// return SendRequestAsync(flareSolverrRequest);*/
274277

275278

276-
});
277-
return result;
278-
279-
279+
}
280280
}
281281

282282

test/FlareSolverrSharp.Tests/FlareSolverrSharp.Tests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
</PropertyGroup>
1111

1212
<ItemGroup>
13+
<PackageReference Include="JetBrains.Annotations" Version="2024.3.0" />
1314
<PackageReference Include="MSTest" Version="3.6.1" />
1415
<PackageReference Include="MSTest.TestAdapter" Version="3.6.1" />
1516
</ItemGroup>

0 commit comments

Comments
 (0)