Κοινή χρήση μέσω


Web.Contents

Σύνταξη

 
Web.Contents(url as text, optional options as nullable record) as binary

Πληροφορίες

Επιστρέφει τα περιεχόμενα που έχουν ληφθεί από url το ως δυαδικά. Μπορεί να παρασχεθεί μια προαιρετική παράμετρος εγγραφής, options, για τον καθορισμό πρόσθετων ιδιοτήτων. Η εγγραφή μπορεί να περιέχει τα ακόλουθα πεδία:

  • Query: Προσθέστε μέσω προγραμματισμού παραμέτρους ερωτημάτων στη διεύθυνση URL χωρίς να χρειάζεται να ανησυχείτε για τη διαφυγή.
  • ApiKeyName: Εάν η τοποθεσία προορισμού διαθέτει έναν τύπο κλειδιού API, αυτή η παράμετρος μπορεί να χρησιμοποιηθεί για τον καθορισμό του ονόματος (όχι της τιμής) της παραμέτρου-κλειδιού που πρέπει να χρησιμοποιηθεί στη διεύθυνση URL. Η πραγματική τιμή κλειδιού παρέχεται στα διαπιστευτήρια.
  • Headers: Εάν καθορίσετε αυτή την τιμή ως εγγραφή, θα παρέχονται πρόσθετες κεφαλίδες σε μια αίτηση HTTP.
  • Timeout: Εάν καθορίσετε αυτή την τιμή ως διάρκεια, θα αλλάξει το χρονικό όριο λήξης για μια αίτηση HTTP. Η προεπιλεγμένη τιμή είναι 100 δευτερόλεπτα.
  • ExcludedFromCacheKey: Εάν καθορίσετε αυτή την τιμή ως λίστα, θα εξαιρεθούν αυτά τα κλειδιά κεφαλίδων HTTP από τη συμμετοχή στον υπολογισμό των δεδομένων στο cache.
  • IsRetry: Εάν καθορίσετε αυτή τη λογική τιμή ως "true", θα παραβλέψετε οποιαδήποτε υπάρχουσα απόκριση στο cache κατά τη λήψη δεδομένων.
  • ManualStatusHandling: Εάν καθορίσετε αυτή την τιμή ως λίστα, θα αποτραπεί τυχόν ενσωματωμένος χειρισμός για αιτήσεις HTTP η απόκριση των οποίων έχει έναν από αυτούς τους κωδικούς κατάστασης.
  • RelativePath: Ο καθορισμός αυτής της τιμής ως κειμένου την προσαρτά στη διεύθυνση URL βάσης πριν από την πραγματοποίηση της αίτησης.
  • Content: Ο καθορισμός αυτής της τιμής αλλάζει την αίτηση web από GET σε POST, χρησιμοποιώντας την τιμή της επιλογής ως περιεχόμενο για το POST.

Η αίτηση HTTP γίνεται είτε ως GET (όταν δεν καθορίζεται περιεχόμενο) είτε ως POST (όταν υπάρχει περιεχόμενο). Οι αιτήσεις POST μπορούν να υποβάλλονται μόνο ανώνυμα.

Οι κεφαλίδες της απόκρισης HTTP είναι διαθέσιμες ως μετα-δεδομένα στο δυαδικό αποτέλεσμα. Εκτός από ένα περιβάλλον προσαρμοσμένης σύνδεσης δεδομένων, μόνο ένα υποσύνολο κεφαλίδων απόκρισης είναι διαθέσιμο (για λόγους ασφαλείας).

Παράδειγμα 1

Ανακτήστε τα περιεχόμενα της χρήσης των RelativePath επιλογών "https://bing.com/search?q=Power+Query" και Query . Αυτές οι επιλογές μπορούν να χρησιμοποιηθούν για τη δυναμική υποβολή ερωτήματος σε μια στατική διεύθυνση URL βάσης.

Χρήση

let
    searchText = "Power Query"
in
    Web.Contents(
        "https://www.bing.com",
        [
            RelativePath = "search",
            Query = [q = searchText]
        ]
    )

Έξοδος

binary

Παράδειγμα 2

Εκτελέστε μια POST σε μια διεύθυνση URL, διαβιβάζοντας ένα δυαδικό ωφέλιμο φορτίο JSON και αναλύοντας την απόκριση ως JSON.

Χρήση

let
    url = ...,
    headers = [#"Content-Type" = "application/json"],
    postData = Json.FromValue([x = 235.7, y = 41.53]),
    response = Web.Contents(
        url,
        [
            Headers = headers,
            Content = postData
        ]
    ),
    jsonResponse = Json.Document(response)
in
    jsonResponse

Έξοδος

table

Παράδειγμα 3

Σύνδεση σε μια ασφαλή διεύθυνση URL που αποδέχεται ένα κλειδί ελέγχου ταυτότητας ως μέρος της συμβολοσειράς ερωτήματος. Αντί για την κωδικοποίηση του μυστικού κλειδιού στην M (το οποίο θα αποτελούσε κίνδυνο για την ασφάλεια), το κλειδί μπορεί να παρέχεται με ασφάλεια καθορίζοντας το όνομά του (όχι την τιμή του) στην M, επιλέγοντας έλεγχο ταυτότητας API Web και καταχωρώντας την τιμή κλειδιού ως μέρος των διαπιστευτηρίων Web API. Όταν χρησιμοποιείται με αυτόν τον τρόπο, το παρακάτω παράδειγμα θα δημιουργήσει μια αίτηση στο "https://contoso.com/api/customers/get?api_key=******".

Χρήση

Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])

Έξοδος

binary

Περισσότερες πληροφορίες

Χειρισμός κωδικού κατάστασης με το Web.Contents σε προσαρμοσμένες συνδέσεις