@האדם-החושב
אז תכתוב שיש אימות נוסף, לא JS נוסף
יש ספריה לעקיפת האימות הזו גם בNET
Install-Package CloudflareSolverRe
ואח"כ צריך להוסיף בתחילת הקובץ
using CloudflareSolverRe;
ובקוד עצמו לשנות ככה:
string url = $"https://download.hebrewbooks.org/downloadhandler.ashx?req={entry.ID_Book}";
string fileName = $"{entry.ID_Book}.pdf";
string downloadPath = Path.Combine(Path.GetTempPath(), fileName);
if (!File.Exists(downloadPath))
{
var handler = new ClearanceHandler
{
MaxTries = 3,
ClearanceDelay = 3000
};
//var handler = new HttpClientHandler { UseCookies = true };
using (HttpClient client = new HttpClient(handler))
{
client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 ...");
client.DefaultRequestHeaders.Add("Referer", "https://www.hebrewbooks.org/");
byte[] fileBytes = await client.GetByteArrayAsync(url);
File.WriteAllBytes(downloadPath, fileBytes);
}
}
@pcinfogmach עשיתי לך PR בגיטהב.
לא הצלחתי לבדוק אם זה עובד בפועל, כי היו לי הרבה ספריות אחרות חסרות שמשום מה לא הותקנו, אז תבדוק את זה.