هل من الممكن إعادة توجيه عنوان URL إلى آخر باستخدام WebProxy (مثل FIDLLER)

StackOverflow https://stackoverflow.com/questions/989282

سؤال

أحاول تحليل ملف WSDL وهو في خادم آخر ولكن لديه بجد "LocalHost" في جميع أنحاء المستند.

عندما أحضرها، من الواضح أن البرنامج يشكو "يرفض الاتصال" لأنه لا يوجد شيء يعمل في جهازي.

سؤالي هو: هل من الممكن استخدام WebProxy (مثل FIDLLER) لإعادة توجيه الطلب المحلي إلى خادمي الآخر حتى تتم إكمال مراجع WSDL؟

:-/

شكرًا

PS يمكنني دائما إصلاح "WSDL" البعيد ولكن الرجل المسؤول سيكون هنا حتى الأسبوع المقبل وأود أن أبدأ العمل اليوم.

هل كانت مفيدة؟

المحلول

يمكنك استخدام FIDLLER كوكيل من جهازك، ثم قم بإعادة كتابة WSDL لتغيير المحلي إلى اسم الجهاز الصحيح.

ال فيددل سكريبت كوكب لديه مثال على كيفية كتابة هذا النوع من النصي. انتقل إلى تلك الصفحة والبحث عن "إزالة جميع علامات DIV (والمحتوى داخل Div Tag)". ما عليك سوى تغيير Regex لتتناسب مع LocalHost وتعيين استبدال اسم الجهاز الذي تريد استخدامه.

نصائح أخرى

إذا كان لديك وصول SSH إلى الجهاز، فيجب أن تكون قادرا على استخدام ميناء SSH لإنجاز هذا. أفترض أنك تستخدم Windows (استنادا إلى علامة C #)، حتى تتمكن من استخدام المعجون كما هو موضح هنا: باستخدام ميناء الشحن مع المعجون. وبعد فقط اتبع هذه التعليمات لإعادة توجيه المنفذ المطلوب على "LocalHost" إلى الخادم الذي يخدم WSDL.

بدلا من ذلك، إذا كنت على جهاز * Nix / Mac، فاستخدم SSH W / الأمر التالي:

ssh -L PORTYOUWILLUSE:localhost:PORTONSERVER username@serverhostname

على سبيل المثال، إذا تم تقديم WSDL على المنفذ 80، فيمكنك القيام به

ssh -L 80:localhost:80 username@server

بمجرد تسجيل الدخول (مع أي طريقة)، سيتم إعادة توجيه أي طلبات إلى LocalHost على المنفذ 80 إلى الخادم.

إذا كنت ترغب فقط في تغيير الأمر لبضع دقائق أثناء تحليل WSDL، فقد تتمكن من تغيير ملف المضيف وجهة النظر "LocalHost" إلى عنوان IP البعيد. ملف المضيفين في "C: Windows System32 Drivers Etc" في نظام التشغيل Windows Vista / XP.

هناك بعض الطرق التي يمكنك تحقيقها، ولا شيء قوي للغاية مثل الحلول طويلة الأجل، لكنك تذكرك فقط تريد شيئا مؤقتا حتى يعود Dev.

إذا كان كل شيء بعد مطابقات المجال (إذا كان عنوان URL البعيد الخاص بك هو نفسه، فيمكنك تحرير إدخال المحلي الخاص بك في ملف Hosts الخاص بك.

في System32 Drivers Etc، انسخ ملف "المضيفين" على سطح المكتب الخاص بك. فتح في المفكرة وتغيير هذا الخط:

127.0.0.1   localhost

تغيير عنوان IP (127.0.0.1) إلى المجال البعيد الخاص بك. ثم انسخ ملف Hosts مرة أخرى إلى دليل إلخ. (ملاحظة: من غير الممكن تحرير هذا الملف مباشرة، كمسؤول أو غير ذلك).

إذا كان لديك مجالات متعددة على خدمة الويب البعيدة، في IIS، فأنت بحاجة إلى تغيير موقع الويب للعمل من أجل طلبات "LocalHost"، وقد يبدو هذا غريب بعض الشيء، ولكن سيعمل لأن جهازك ستقدم طلبات عنوان IP الخاص بالملقم، ولكن حدد مجال الطلب ك "LocalHost". انقر بزر الماوس الأيمن فوق موقع الويب في IIS وحدد خصائص، ثم قم بإضافة المجال "LocalHost" إلى قائمة قيم HTTP-Header التي يدعمها هذا الموقع الإلكتروني. يمكنك تجاهل كل هذا إذا كان موقع الويب الخاص بك في IIS سيخدم المحتوى إذا وصلت إليه عبر عنوان IP. إذا تم مشاركة عنوان IP واحد بين مواقع الويب المتعددة (التي عادة ما تكون الحالة)، فستحصل على خطأ "اسم مضيف سيء" من IIS لأنه يحاول البحث عن "LocalHost" ولا يمكنك العثور على موقع الويب الذي توجيهه طلب إلى.

احتمال آخر هو استخدام خادم وكيل شخصي يسمى proxomitron.. وبعد إنه قديم قليلا، ولم يعد قيد التطوير، ولكن من السهل جدا الإعداد والصلبة للغاية.

بمجرد تثبيته، افتحه وانقر فوق "التكوين" - تغيير المنفذ يستمع إلى 80. التالي تحتاج إلى إنشاء قاعدة إعادة التوجيه (ليس في الواقع إعادة توجيه، وأكثر من إعادة كتابة عنوان URL). ستحتاج إلى قراءة سريعة لل مستندات لفهم كيفية إضافة إعادة التوجيه الخاصة بك، ولكن هناك الكثير من العينات التي السفينة مع التطبيق. القاعدة التي تبحث عنها هي RDIR:

$ rdir () أكثر انسدادا ويعيد توجيه الاتصال في proxomitron دون إخبار المتصفح الخاص بك. هذا مفيد عندما تريد أن يعتقد المتصفح أن يعتقد أنه يذهب إلى مكان واحد، في الواقع، يجري في مكان آخر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top