IMDB actualmente devuelve HTTP 202 Aceptado en lugar de 200 OK (probablemente debido a medidas anti-bot o al manejo asíncrono de solicitudes). La implementación actual es demasiado estricta, ya que solo considera 200 como una respuesta exitosa y trata cualquier otro código de estado 2xx como un error. Como resultado, el cuerpo de la respuesta nunca se lee y el oneboxing falla con un mensaje de “código de error 202”:
Esto tiene un impacto directo y visible para el usuario cada vez que alguien pega un enlace de IMDB en una publicación.
El método fetch_response actualmente acepta solo HTTP 200 como respuesta exitosa. Cualquier otro código de estado 2xx, incluido el 202, se pasa a response.error!, lo que provoca que la solicitud falle antes de que se pueda procesar el cuerpo de la respuesta.
¿Podemos aceptar el rango completo de códigos de estado HTTP exitosos (2xx) en lugar de solo 200?
Parece que imdb.com está detrás de un WAF que impide el scraping (y por tanto, la creación de oneboxes), así que temo que no podemos hacer mucho al respecto, más que mejorar el mensaje que se muestra al usuario.