Ο φορτωτής του AngleSharp αναθέτει τις λήψεις σε καταχωρισμένους αιτούντες. Με το AngleSharp.Io, συνδέστε ρητά ένα HttpClientRequester που γνωρίζει διακομιστή μεσολάβησης:

using AngleSharp;
using AngleSharp.Io.Network;

var handler = new System.Net.Http.HttpClientHandler
{
    UseProxy = true,
    Proxy = new System.Net.WebProxy(
        "http://proxy.example.net:8080")
};
var http = new System.Net.Http.HttpClient(handler);
http.DefaultRequestHeaders.UserAgent.ParseAdd("ExampleReader/1.0");

var configuration = Configuration.Default
    .With(new HttpClientRequester(http))
    .WithDefaultLoader();

var context = BrowsingContext.New(configuration);

Χρησιμοποιήστε αυτό το περιβάλλον για την προβλεπόμενη πλοήγηση OpenAsync. Ένα τελικό σημείο από τη λίστα διακομιστών μεσολάβησης HTTP μπορεί να παρέχει τη διεύθυνση WebProxy για δημόσιες λήψεις ιστού. Κρατήστε τον υποκείμενο πελάτη HTTP ζωντανό για αυτή την εργασία και αποδεσμεύστε τους πόρους που κατέχετε μετά.

Το WithRequesters είναι μια εναλλακτική που καταχωρεί τους αιτούντες που διατίθενται από το AngleSharp.Io. Μην το συνδυάζετε με πολλούς χειροκίνητα ρυθμισμένους αιτούντες HTTP εκτός αν η επιλογή τους είναι σκόπιμη. Ένας διακομιστής μεσολάβησης που ρυθμίζεται σε έναν αιτούντα δεν ρυθμίζει άλλη υλοποίηση που επιλέγεται για ένα αίτημα.

Οι προσαρμοσμένες προεπιλεγμένες κεφαλίδες στο http ανήκουν στο αίτημα προορισμού. Οι τιμές κεφαλίδων που περιγράφουν ένα σώμα αιτήματος, συμπεριλαμβανομένου του Content-Type, θα πρέπει να ταιριάζουν με αυτό το αίτημα αντί να επιβάλλονται παγκοσμίως σε κάθε λήψη.

Καταχωρίστε τον αιτούντα πριν από το WithDefaultLoader, ώστε ο φορτωτής να μπορεί να χρησιμοποιήσει την προβλεπόμενη υπηρεσία HTTP αντί να προσθέσει την προεπιλεγμένη του όταν δεν υπάρχει καμία.

Σχετικά άρθρα