Можно ли перенаправить URL-адрес на другой с помощью webproxy ( например, fiddler )

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

Вопрос

Я пытаюсь проанализировать файл WSDL, который находится на другом сервере, но имеет жесткий код "localhost" по всему документу.

Когда я извлекаю его, очевидно, программа жалуется на "отказано в подключении", потому что на моем компьютере ничего не запущено.

Мой вопрос заключается в следующем:Можно ли использовать webproxy (например, fiddler ) для перенаправления этих запросов localhost на мой другой сервер, чтобы ссылки на WSDL были полными?

:-/

Спасибо

p.s.Я всегда мог бы починить пульт дистанционного управления "wsdl", но ответственный специалист пробудет здесь до следующей недели, а я хотел бы начать работать сегодня.

Это было полезно?

Решение

Вы могли бы использовать Fiddler в качестве прокси-сервера со своего компьютера, а затем попросить его переписать WSDL, чтобы изменить localhost на правильное имя компьютера.

Тот самый Скрипичный текст кулинарной книги есть пример того, как написать подобный скрипт.Перейдите на эту страницу и найдите "Удалить все теги DIV (и содержимое внутри тега DIV)".Просто измените регулярное выражение, чтобы оно соответствовало localhost, и установите замену на имя компьютера, которое вы хотите использовать.

Другие советы

Если у вас есть доступ к компьютеру по SSH, для этого вы сможете использовать переадресацию портов SSH.Я предполагаю, что вы используете Windows (на основе тега C#), поэтому вы можете использовать Putty, как описано здесь: Использование переадресации портов с PuTTY.Просто следуйте этим инструкциям, чтобы перенаправить нужный порт на «localhost» на сервер, который обслуживает WSDL.

В качестве альтернативы, если вы используете компьютер на базе *nix или Mac, используйте SSH со следующей командой:

ssh -L PORTYOUWILLUSE:localhost:PORTONSERVER username@serverhostname

Например, если бы WSDL обслуживался через порт 80, вы могли бы сделать

ssh -L 80:localhost:80 username@server

После входа в систему (любым методом) любые запросы к localhost через порт 80 будут перенаправлены на сервер.

Если вы хотите изменить его только на несколько минут во время анализа WSDL, вы можете изменить файл HOST и указать «localhost» на удаленный IP-адрес.Файл хостов находится в папке «C:\Windows\System32\drivers\etc» в Windows VISTA/XP.

Есть несколько способов добиться этого, ни один из них не является особенно надежным в качестве долгосрочного решения, но вы упоминаете, что вам просто нужно что-то временное, пока разработчик не вернется.

Если все после домена совпадает (если ваш удаленный URL-адрес в остальном совпадает с URL-адресом локального хоста), вы можете отредактировать запись localhost в файле хостов.

В system32\drivers\etc скопируйте файл «hosts» на рабочий стол.Откройте в блокноте и измените эту строку:

127.0.0.1   localhost

Измените IP-адрес (127.0.0.1) на свой удаленный домен.Затем скопируйте файл хостов обратно в каталог и т. д.(Примечание:невозможно редактировать этот файл напрямую, от имени администратора или иным образом).

Если у вас есть несколько доменов в удаленной веб-службе в IIS, вам необходимо изменить веб-сайт для обслуживания запросов к «localhost». Это может показаться немного странным, но это сработает, потому что ваша машина будет отправлять запросы к IP-адрес сервера, но укажите домен запроса как «localhost».Щелкните правой кнопкой мыши веб-сайт в IIS и выберите свойства, затем добавьте домен «localhost» в список значений HTTP-заголовка, поддерживаемых этим веб-сайтом.Вы можете игнорировать все это, если ваш веб-сайт в IIS будет обслуживать контент, если вы получаете к нему доступ через IP-адрес.Если этот единственный IP-адрес используется несколькими веб-сайтами (что обычно и происходит), вы получите ошибку «Неверное имя хоста» от IIS, поскольку он пытается найти «локальный хост» и не может найти, какой веб-сайт направить. просьба к.

Другая возможность — использовать личный прокси-сервер под названием Проксомитрон.Он немного устарел и больше не находится в разработке, но его очень легко настроить и он очень надежен.

После установки откройте его и нажмите «Настроить» — измените порт, который он прослушивает, на 80.Далее вам нужно создать правило перенаправления (на самом деле это не перенаправление, а скорее перезапись URL-адреса).Вам нужно будет быстро прочитать документы чтобы понять, как добавить собственное перенаправление, но вместе с приложением поставляется множество примеров.Правило, которое вы ищете, — это RDIR:

$RDIR( ) Более коварный и перенаправляет соединение в Proxomitron, не сообщая об этом браузеру.Это полезно, когда вы хотите, чтобы ваш браузер думал, что он идет в одно место, хотя на самом деле он идет в другое место.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top