Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

416
Vistas
AttributeError: el objeto 'Solicitud' no tiene el atributo 'is_xhr'

Estoy tratando de ejecutar cuckoo api. Cuckoo web funciona bien en mi sistema. Pero cuando probé cuckoo api, recibí el siguiente error:

 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1982, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1614, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1512, in handle_user_exception return self.handle_http_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1471, in handle_http_exception return handler(e) File "/usr/local/lib/python2.7/dist-packages/cuckoo/apps/api.py", line 719, in api_auth_required 401, "Authentication in the form of an " File "/usr/local/lib/python2.7/dist-packages/cuckoo/apps/api.py", line 36, in json_error r = jsonify(message=message) File "/usr/local/lib/python2.7/dist-packages/flask/json.py", line 251, in jsonify if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] and not request.is_xhr: File "/usr/local/lib/python2.7/dist-packages/werkzeug/local.py", line 347, in __getattr__ return getattr(self._get_current_object(), name) AttributeError: 'Request' object has no attribute 'is_xhr' 2020-04-02 18:50:39,640 [werkzeug] INFO: 192.168.100.94 - - [02/Apr/2020 18:50:39] "GET / HTTP/1.1" 500 -

Traté de cambiar api.py agregando el siguiente código:

 @app.route("/publish/epoch/end/", methods=['POST']) def publish(): #payload = request.form.get('data') payload = unquote(request.data.split('=')[1]).replace('+','') try: `enter code here` data = json.loads(payload) except: return {'error':'invalid payload'} def notify(): msg = str(time.time()) for sub in subscriptions[:]: sub.put(payload) gevent.spawn(notify) return "OK" @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': model.save() # Failure to return a redirect or render_template else: return render_template('index.html')

Pero eso no me ayudó. ¿Cuál podría ser la solución a este problema?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

La propiedad request.is_xhr quedó obsoleta desde Werkzeug 0.13 y se eliminó en Werkzeug 1.0.0. Obtendrá este error cuando use Flask <= 0.12.4 y Werkzeug >=1.0.0 porque Flask usa esta propiedad en la fuente antes de la versión 1.0.0. Simplemente puede actualizar Flask (> = 1.0.0) para solucionar este problema:

 $ pip install -U flask

De lo contrario, también puede degradar Werkzeug a 0.16.1:

 $ pip install werkzeug==0.16.1
over 4 years ago · Santiago Trujillo Denunciar

0

Según este problema de github , otra opción es deshabilitar JSONIFY_PRETTYPRINT_REGULAR en su archivo de configuración.

 class Config: # Other configs JSONIFY_PRETTYPRINT_REGULAR = False

o

 app = Flask(__name__) app.config['JSONIFY_PRETTYPRINT_REGULAR'] = False
over 4 years ago · Santiago Trujillo Denunciar

0

El método request.is_xhr ha quedado obsoleto y eliminado, ya que no era confiable. Vea la discusión aquí y aquí sobre por qué se eliminó.

Es posible que deba anclar su versión local de Werkzeug a algo que sea compatible con la versión anclada de Flask de Cuckoo ( ejemplo aquí ) hasta que Cuckoo se actualice a una versión más nueva de Flask.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda