Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Прокси-сервер разработки — это средство командной строки, которое помогает имитировать поведение и ошибки облачных API для создания устойчивых приложений.
В этом руководстве описано, как установить и запустить прокси-сервер разработки.
Установка прокси-сервера разработки
Самый простой способ установить прокси-сервер разработки — использовать winget. Кроме того, можно вручную установить прокси-сервер разработки.
Чтобы установить прокси-сервер разработки с помощью winget, выполните следующую команду:
winget install DevProxy.DevProxy --silent
Важный
Установщик прокси-сервера разработки добавляет новую запись в PATH. Чтобы использовать прокси-сервер разработки после установки, необходимо перезапустить командную строку, чтобы обновить переменную среды PATH.
Подсказка
Чтобы попробовать последние предварительные версии компонентов, установите бета-версию.
Самый простой способ установить прокси-сервер разработки — использовать Homebrew. Кроме того, можно вручную установить прокси-сервер разработки.
Чтобы установить прокси-сервер разработки с помощью Homebrew, выполните следующие команды:
brew tap dotnet/dev-proxy
brew install dev-proxy
Подсказка
Чтобы попробовать последние предварительные версии компонентов, установите бета-версию.
Самый простой способ установить прокси-сервер разработки — использовать скрипт установки. Кроме того, можно вручную установить прокси-сервер разработки.
Чтобы установить прокси-сервер разработки с помощью скрипта установки, выполните следующие команды:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
Если вы используете PowerShell, выполните следующую команду:
(Invoke-WebRequest https://aka.ms/devproxy/setup.ps1).Content | Invoke-Expression
Подсказка
Чтобы попробовать последние предварительные версии компонентов, установите бета-версию.
"Запуск прокси-сервера для разработки в первый раз"
При первом запуске прокси-сервера разработки на компьютере необходимо выполнить несколько шагов, чтобы убедиться, что прокси-сервер разработки может перехватывать запросы с компьютера и успешно реагировать. После первого запуска вам не придется повторять эти шаги.
Заметка
Сведения о сертификате. Сервер разработки использует локальный SSL-сертификат для расшифровки трафика HTTPS только на компьютере. Вот как прокси-сервер может просматривать и изменять ответы API. Сертификат хранится локально, а прокси-сервер разработки не отправляет данные в корпорацию Майкрософт. Дополнительные сведения см. в статье "Отправляет ли прокси-сервер разработки данные в Microsoft?"
-
запуск прокси-сервера для разработки. Откройте сеанс командной строки. Введите
devproxyи нажмите ВВОД. -
сертификат доверия. Dev Proxy устанавливает сертификат с именем
Dev Proxy CA. Отображается предупреждение. ВыберитеYes, чтобы убедиться, что вы хотите установить сертификат. Прокси-сервер разработки использует этот сертификат для расшифровки трафика HTTPS, отправленного с компьютера. -
Разрешить доступ к брандмауэру. Брандмауэр Windows блокирует прокси-сервер. Отображается предупреждение. Нажмите кнопку
Allow access, чтобы разрешить трафик через брандмауэр.
-
запуск прокси-сервера для разработки. Откройте сеанс командной строки. Введите
devproxyи нажмите ВВОД. -
сертификат доверия. Dev Proxy устанавливает сертификат с именем
Dev Proxy CA, который используется для расшифровки HTTPS-трафика, отправленного с вашего компьютера. Отображается предупреждение. Нажмите y, чтобы убедиться, что вы хотите доверять сертификату. -
Принять входящие подключения. Отображается предупреждение. Выберите
Allowдля подтверждения.
запуск прокси-сервера для разработки. Откройте сеанс командной строки. Введите
devproxyи нажмите ВВОД.сертификат доверия. Dev Proxy использует пользовательский SSL-сертификат для расшифровки HTTPS-трафика, отправленного с вашего компьютера.
Важный
Ниже приведены инструкции для Ubuntu. Для других дистрибутивов Linux шаги могут отличаться.
Чтобы установить и доверять сертификату, в новой командной строке выполните следующие команды:
# Export Dev Proxy root certificate openssl pkcs12 -in ~/.config/dev-proxy/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:"" # Install the certificate sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/ # Update certificates sudo update-ca-certificates
В командной строке отображаются следующие выходные данные:
info 8 error responses loaded from devproxy-errors.json
info Dev Proxy API listening on http://localhost:8897...
info Dev Proxy Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
По умолчанию Dev Proxy настроен на:
- Перехват запросов к любой конечной точке JSON Placeholder API
- Имитация ответов об ошибках API и регулирование API с частотой сбоев в 50%
Убедитесь, что прокси-сервер разработки работает правильно
Прокси-сервер Dev Proxy перехватывает запросы, которые приложения на вашем устройстве делают к URL-адресам, которые вы регистрируете в Dev Proxy. Когда прокси-сервер разработки обнаруживает запрос, он либо передает его в API (не выполняет никаких действий), либо возвращает ответ. Давайте убедимся, что прокси-сервер разработки работает должным образом.
В PowerShell используйте командлет Invoke-WebRequest для отправки GET-запроса в API JSON Placeholder.
Invoke-WebRequest -Uri https://jsonplaceholder.typicode.com/posts
Если вы используете curl, отправьте запрос GET в API заполнителя JSON с помощью следующей команды.
curl -ikx http://localhost:8000 https://jsonplaceholder.typicode.com/posts
Вы также можете использовать клиент API, например Postman, для отправки запроса GET в https://jsonplaceholder.typicode.com/posts.
В командной строке, в которой выполняется прокси-сервер разработки, отображаются сведения о запросе и действии, выполняемом прокси-сервером разработки. По умолчанию Dev-прокси имитирует ответ на ошибку с вероятностью 50%. Если запрос не возвращает ошибку, Dev Proxy пропускает его дальше.
req ╭ GET https://jsonplaceholder.typicode.com/posts
time │ 1/31/2025 12:12:14 PM +00:00
skip │ RetryAfterPlugin: Request not throttled
skip │ GenericRandomErrorPlugin: Pass through
api ╰ Passed through
Если прокси-сервер разработки возвращает ответ на ошибку, в выходных данных отображается сообщение об ошибке.
req ╭ GET https://jsonplaceholder.typicode.com/posts
time │ 1/31/2025 12:12:37 PM +00:00
skip │ RetryAfterPlugin: Request not throttled
oops ╰ 403 Forbidden
🎉 Вы просто имитировали сбой API без изменения кода!
Ваше приложение получило бы эту же ошибку. Теперь представьте тестирование:
- Что если это случится с вашим API оформления заказа?
- Что делать, если профиль пользователя не загружается?
Важный
Если в окне командной строки нет выходных данных, скорее всего, прокси-сервер разработки не перехватывает запросы. Ознакомьтесь с разделом о распространённых проблемах для получения помощи.
Теперь протестируйте приложение
Вы только что видели, что прокси-сервер разработки не выполнил запрос на демонстрационный API. Чтобы протестировать свое приложение, выполните приведенные далее действия.
Найдите URL-адрес API, который вызывает ваше приложение. Перейдите на вкладку "Сеть" в средстве разработки браузера или найдите вызовы HTTP-клиента в коде.
Запустите прокси-сервер разработки с URL-адресом:
devproxy --urls-to-watch "https://your-api.com/*"Обычно используйте приложение. Наблюдайте за тем, как Dev Proxy вводит ошибки в ваши вызовы API.
Нужна помощь в конфигурации Dev Proxy для вашего стека? См. руководства по:
Безопасно приостановить прокси разработки
Если вам больше не требуется запускать прокси-сервер разработки, всегда следует остановить его безопасно.
- Нажмите клавиши CTRL + C, чтобы безопасно остановить прокси-сервер разработки.
Если завершить сеанс командной строки, Dev Proxy не снимает регистрацию в качестве системного прокси-сервера, и у вас могут возникнуть некоторые распространенные проблемы.
Следующий шаг
Узнайте, как настроить прокси-сервер разработки в соответствии с вашими потребностями. Прокси-сервер разработки является очень гибким и поддерживает множество различных сценариев. Узнайте больше о том, как настроить его для конкретного сценария.