Request: unescape () من self._qs يقطع الطلبات بالمصادقة

تم إنشاؤها على ١ يونيو ٢٠١٥  ·  4تعليقات  ·  مصدر: request/request

تفشل طلبات GET مع بيانات اعتماد المصادقة الأساسية لـ http مثل " http: // user: [email protected] " بسبب الخطأ "self._qs.unescape ليست وظيفة".

يحدث هذا الخطأ في request.js:

  if (self.uri.auth && !self.hasHeader('authorization')) {
    var uriAuthPieces = self.uri.auth.split(':').map(function(item) {return self._qs.unescape(item)})
    self.auth(uriAuthPieces[0], uriAuthPieces.slice(1).join(':'), true) 
  }

يبدو أن تغيير Querystring.prototype.unescape لاستخدام unescape() أو decodeURIComponent العالمي لحل هذه المشكلة.

البيئة: إلكترون 0.27.2 (كروم 43)

التعليق الأكثر فائدة

ألاحظ أنه تم إهمال unescape: ( مرجع )
وبالتالي يجب استبدال self._qs.unescape (عنصر) بـ decodeURI (عنصر)

ال 4 كومينتر

قد يكون ذلك مرتبطًا بـ https://github.com/request/request/pull/1600 لكن tbh لا أرى كيف يكون ذلك ممكنًا. أحتاج إلى مزيد من السياق ، هل يمكنك تقديم مثال قصير على رمز يعيد إنتاج هذا الخطأ؟

يبدو أن مكتبة "querystring" التي يوفرها Browserify لا تتضمن querystring.unescape وبالتالي لا تعمل هذه المهمة كما هو متوقع.

المراجع:
https://github.com/substack/node-browserify/issues/826
https://github.com/mike-spainhower/querystring/issues/4
https://github.com/Gozala/querystring/issues/6

أقوم بإغلاق هذه المشكلة حيث لا يبدو أن سببها خطأ في هذه المكتبة.

andornaut هل وجدت كيفية إصلاحه على الإلكترون؟ ما زلت أتلقى هذا الخطأ

ألاحظ أنه تم إهمال unescape: ( مرجع )
وبالتالي يجب استبدال self._qs.unescape (عنصر) بـ decodeURI (عنصر)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات