que tienen algún código de prueba (como parte de una aplicación web) que utiliza urllib2 para realizar una operación por lo general me llevaría a cabo a través de un navegador:Problema Urllib2 inexplicable entre virtualenv.
- Acceder a un sitio web remoto
- desplazarse a otra página
- realizar una post mediante la cumplimentación de un formulario
he creado 4 virtualenvs separados, limpios (con paquetes --no-site-) en 3 máquinas diferentes, todos con diferentes versiones de Python, pero la misma exacta paquetes (a través del archivo de requisitos pip), y el código de nly funciona en los dos virtualenvs en mi máquina de desarrollo local (2.6.1 y 2.7.2) - no funcionará en ninguno de mis VPS de producción
En los casos con fallas, puedo iniciar sesión con éxito, moverme al página correcta, pero cuando envío el formulario, el servidor remoto responde diciéndome que ha habido un error: es una página de error del servidor de aplicaciones ("no pudimos completar su solicitud") y no un error del servidor web.
- porque puedo entrar con éxito en y maniobrar a una segunda página, esto no parece ser una sesión o un problema de galletas - es particular, a la final de la POST
- porque puedo realizar la operación en una máquina en particular con los mismos encabezados y datos exactos, esto no parece ser un problema con lo que solicito/publicar
- porque estoy tratando el código en dos VPS separados alquilado a diferentes empresas, esto no parece ser un problema con el entorno físico de VPS
- porque el código funciona en 2 versiones diferentes de python, no puedo imaginar que sea un incompa problema bilty
Estoy completamente perdido en esta etapa de por qué esto no funcionaría. Incluso lo 'apagué y volví a encender' porque no puedo ver cuál podría ser el problema.
creo que tiene que ser algo que ver con el final del poste procedente de un VPS que el servidor remoto no le gusta, pero no puedo averiguar lo que podría ser. Siento que algo está sucediendo bajo el capó de URLlib que está causando que el servidor remoto detecte la respuesta.
EDITAR He instalado la misma versión exacta de Python (2.6.1) en el VPS como es en mi copia local de trabajo y que no funciona de forma remota, por lo que debe ser algo que ver con los procedentes de un VPS. ¿Cómo podría esto afectar la solicitud de Http? ¿Es algo de nivel inferior?
¿Hay firewalls ejecutándose en el VPS o en el sitio web de destino? ¿Estás usando cookies, y si es así, están siendo escritas correctamente en producción? –
No, lo estoy ejecutando en dos VPS separados y no funciona para ninguno, pero no creo que estén detrás de los firewalls. Estoy usando cookies con cookielib, pero no creo que ese sea el problema porque las cookies funcionan para las dos primeras operaciones (inicio de sesión y página de cambio) –