API:Etykieta

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Etiquette and the translation is 24% complete.

Outdated translations are marked like this.
Other languages:
English • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎日本語

This page contains the best practices that should be followed when using the API.

Zachowanie

Limity żądań

Nie ma ścisłych limitów dotyczących żądań odczytu, ale prosimy o bycie rozsądnym i nie spowodowanie przeciążenia strony.

Większość administratorów systemów zastrzega sobie prawo do bezceremonialnego zablokowania Ciebie, jeżeli Twoje działania zagrażają stabilności strony.

Making your requests in series rather than in parallel, by waiting for one request to finish before sending a new request, should result in a safe request rate. It is also recommended that you ask for multiple items in one request by:

  • Using the pipe character (|) whenever possible e.g titles=PageA|PageB|PageC, instead of making a new request for each title.
  • Using a generator instead of making a request for each result from another request.

Use GZip compression when making API calls by setting Accept-Encoding: gzip to reduce bandwidth usage.

Parsowanie wersji

Choć jest możliwe odpytanie o wyniki dla konkretnej wersji, jest to obciążające dla serwera.

Aby pobrać określoną wersję, użyj parametru 'oldid', przykład:

Użycie parametru maxlag

Jeżeli Twoje zadanie nie jest interaktywne (tj. użytkownik nie czeka na wynik), powinieneś wykorzystać parametr maxlag.

The value of the maxlag parameter should be an integer number of seconds. For example:

Zapobiegnie to uruchomieniu Twojego zadania, kiedy serwer jest zbyt obciążony. Większe wartości oznaczają bardziej agresywne zachowanie, niższe są przyjemniejsze.

See Podręcznik:Parametr Maxlag for more details.

Nagłówek User-Agent

It is best practice to set a descriptive User Agent header. To do so, use User-Agent: clientname/version (contact information e.g username, email) framework/version.... For example in PHP:

ini_set('user_agent', 'MyCoolTool/1.1 (https://example.org/MyCoolTool/; MyCoolTool@example.org) UsedBaseLibrary/1.4');

Nie kopiuj user-agent'a popularnych przeglądarek (Dopóki Twój klient API nie jest aplikacją JavaScript, uruchomioną przez wspomnianą przeglądarkę poprzez Ajax; w tym przypadku nie ma możliwości zmiany user-agent).

Dzięki temu jest pewność, że będzie można wyśledzić źródło problemu jeżeli takowy wystąpi.

If you are calling the API from browser-based JavaScript, you may not be able to influence the User-Agent header, depending on the browser. To work around this, use the Api-User-Agent header.

Zobacz m:User-Agent policy aby uzyskać szczegóły.

Data formats

All new API users should use JSON . See API:Data_formats for more details.

Performance

Jeżeli próbujesz ustalić dlaczego otrzymujesz wyniki wolniej niż byś chciał, przejrzyj Performance guidelines , które pomogą ogólnie zrozumieć kwestie wydajności.

Jeżeli stwierdzisz, że odczyt za pomocą API, zamiast bezpośredniego odczytywania z baz danych, utrudnia funkcjonowanie klienta, rozważ umieszczenie go w Wikimedia Toolforge.

See also