API:Edit/es

Solicitud POST para editar una página.



Ejemplo
El código de muestra en este ejemplo es en Pitón. Mira para ejemplos y respuestas en.



Solicitud POST
Hacer ediciones y, de hecho, cualquier solicitud POST, es un proceso de varios pasos.


 * 1. Inicia sesión, a través de uno de los métodos descritos en . Tenga en cuenta que si bien esto es necesario para atribuir correctamente la edición a su autor, muchas wikis permiten a los usuarios editar sin registrarse o iniciar sesión en una cuenta.


 * 2. GET un.


 * 3. Envía una solicitud POST, con el token CSRF, para tomar medidas en una página.

La sección de Respuesta a continuación es para la solicitud POST final, para tomar medidas en la página. Consulta las páginas en y  para ver las respuestas intermedias de JSON a los pasos anteriores.

También tenga en cuenta que los tokens en las consultas en esta página son valores de muestra. Los tokens reales son únicos para cada inicio de sesión y solicitud entre sitios. Se incluyen solo para demostrar cómo formatear correctamente las consultas.

Respuesta


Código de muestra


Casos de usuario


Conflictos de edición
La muestra de Python es una implementación básica, de una solicitud de edición realizada por un usuario registrado. En escenarios del mundo real, se debe tener cuidado para evitar conflictos de edición. Esto ocurre cuando dos o más usuarios intentan editar la misma página al mismo tiempo.

Los conflictos se pueden prevenir recuperando la última marca de tiempo cuando solicitemos un token CSRF. Agregar  a la solicitud de token CSRF en el Paso 3, nos permite acceder a la marca de tiempo para la última revisión. Esta marca de tiempo se usará como  cuando hagamos nuestra solicitud de edición.

También necesitamos la hora exacta cuando comenzamos nuestra edición. Esto se puede recuperar agregando  a la solicitud CSRF también. Este valor servirá como nuestro.

Finalmente, en la solicitud de edición real, establece los parámetros  y , así:



Grandes ediciones
Las solicitudes POST que contengan grandes cantidades de contenido de texto (más de 8000 caracteres) deben enviarse con  indicado en el header. Porque  no necesita agregar caracteres de escape HTML (es decir, percent-encoding) para espacios y puntuación, la cantidad de datos pasados ​​será mucho más pequeña que el equivalente codificado en porcentaje.

Sin embargo, todavía hay una sobrecarga agregada por  -- aproximadamente, 160 bytes por parámetro. Para mensajes cortos que no requieren agregar muchos caracteres de escape, esta cantidad de sobrecarga puede ser ineficiente, y se prefiere la codificación porcentual $ref.

Ten en cuenta que en nuestro código de muestra Python, la solicitud está codificada en porcentaje por defecto.

Consulta the MDN web docs para mantener una discusión más técnica sobre el tipo de contenido y las solicitudes POST. Consulta quickstart/#more-complicated-post-requests the Python Requests documentation para saber cómo pasar  usando una sintaxis similar a nuestro código de muestra de Python.

CAPTCHAs
Si el wiki al que te diriges utiliza, tu solicitud puede devolver un error que contenga un número de identificación y una prueba simple, como una pregunta, un problema matemático o una URL a una imagen. Para completar tu edición, debes completar la prueba, luego vuelve a intentar tu solicitud con la identificación y las respuestas correctas agregadas a la cadena de consulta original, de la siguiente manera:

Otros sistemas y extensiones CAPTCHA pueden usar diferentes parámetros para un uso similar. En general, usa los nombres de campo para la identificación y las preguntas de prueba como parámetros en tu segunda solicitud.



Errores posibles


Historial de parámetros

 * v1.25: Introducido
 * v1.21: Introducido ,
 * v1.20: Introducido
 * v1.19: Introducido
 * v1.18: Obsoleto ,
 * v1.17: Introducido
 * v1.16: Deprecated ,
 * v1.16: Introducido
 * v1.15: Introducido ,
 * v1.14: Introducido



Notas adicionales

 * La API no requiere estrictamente el inicio de sesión, pero es necesario para atribuir correctamente la edición a su autor. Una edición exitosa de un usuario que no ha iniciado sesión se atribuirá a su dirección IP.
 * Los bots que no están registrados pueden enfrentar restricciones en la edición y otras peticiones de escritura; consulte para obtener más detalles.
 * Los usuarios que no hayan iniciado sesión siempre recibirán el token CSRF vacío,.
 * El proceso para solicitar un token ha cambiado varias veces a lo largo de las versiones. Ver para más detalles.
 * proporciona una forma de acceder a los tokens de edición cuando se ejecuta código dentro de una página wiki.
 * Puedes usar el mismo token de inicio de sesión para todas las operaciones de edición en la misma wiki, durante una sola sesión registrada.
 * Es una buena práctica pasar cualquier token en tu solicitud al final de la cadena de consulta, o al menos después del parámetro de texto. De esa manera, si se interrumpe la conexión, el token no se pasará y la edición fallará. Si está utilizando el objeto para realizar solicitudes, esto se hace automáticamente.
 * Aunque  y , técnicamente, se han eliminado de API:Edit since v1.18,  extiende API:Edit para que funcione con CAPTCHAs. Por lo tanto, con ConfirmEdit instalado, estos parámetros aún están disponibles. ConfirmEdit viene empaquetado con el software MediaWiki, v1.18+.



Véase también

 * - Contiene enlaces útiles sobre edición de artículos.
 * - describe cómo iniciar sesión usando una interfaz simplificada al acceder a wikis a través de un script o aplicación, en lugar de la GUI.
 * - más detalles sobre el uso de un bot para editar páginas automáticamente.
 * - proporciona una forma de acceder a los tokens de edición cuando se ejecuta JavaScript dentro de una página de MediaWiki.
 * - tiene más detalles sobre el uso de tokens para iniciar sesión o realizar solicitudes POST.
 * - Una API obsoleta, distinta de, para solicitar tokens en versiones anteriores de MediaWiki.
 * - Te permite diferenciar entre ediciones en una página.
 * - Altera etiquetas en una página.
 * - revierte una serie de ediciones.
 * - Revertir archivos a un estado anterior
 * - Elimina y restaura revisiones a una página.