Разблокировать позу Чарльза

Node.js внешний интерфейс JavaScript

Чарльз, как хороший друг по разработке Mac, я не знаю, все ли знают, как его использовать. Я считаю, что многие детские туфли знакомы только с несколькими простыми функциями.Сегодня я разблокирую несколько продвинутых поз для всех... Надеюсь, это поможет всем.

Что такое Чарльз

Что такое Чарльз, я думаю, все знают, если есть что-то, чего вы не знаете, пожалуйста, Baidu...
Я хочу сказать вам, что Чарльз может помочь нам сделать?
Рассмотрим эти сценарии:

  • После того, как г-н А разработал страницу локально, он хочет совместно отладить интерфейс, но интерфейс развернут на тестовом сервере.xxx.com, В это время будут междоменные проблемы при совместной отладке.Как их решить?

    Есть много способов решить эту проблему.Вы можете настроить прокси.Здесь мы говорим только о том, как использовать Charles для достижения временного междоменного доступа. С помощью Чарльза перепишите заголовок запроса https и функцию заголовка ответа, добавьте заголовок ответа (Access-Control-Allow-Origin) для междоменных адресов для достижения междоменного.

  • Мобильный терминал онлайн-приложения работает ненормально, как я могу подтвердить, проблема связана с данными, возвращаемыми интерфейсом, или с совместимостью мобильного телефона?

    Перехватите пакеты данных https на мобильном телефоне и сначала определите, являются ли данные интерфейса нормальными.Если это нормально, устраните проблему с интерфейсом и подтвердите, что это проблема совместимости с мобильным телефоном.

  • Интернет-приложение работает ненормально на мобильном телефоне, а интерфейс нормальный.Причину проблемы нельзя проанализировать на уровне кода.Как быстро найти и решить проблему?

    Используйте функцию сопоставления ресурсов Чарльза, чтобы сопоставлять удаленные ресурсы js с файлами js в локальной или тестовой среде и устранять неполадки путем ведения журнала (интуитивное оповещение).

  • ...

Есть много сцен, которые не вводятся одна за другой, вводятся только три вышеупомянутые сцены с высокой частотой.

Цель Чарльза можно резюмировать так: прокси, захват пакетов и модификация пакетов!

Кто будет использовать Чарльза

Внешний интерфейс, тестирование, разработка приложений, внутренняя разработка с использованием Mac

Поза для разблокировки:

Эта статья раскрывает только следующие важные позы, которые могут иметь дело с тремя вышеуказанными сценариями.

  • Перехватывать https-пакеты
  • Изменить заголовок ответа на запрос https
  • сопоставление ресурсов

    Перехватить пакеты данных https под mac

    Есть три шага, чтобы разблокировать эту позу:
  • 1. Установите корневой сертификатCharles Root Certificate.

    Меню -> справка -> SSL-прокси -> Установить корневой сертификат Charles.

  • 2. Найдите установленный корневой сертификат Charles и доверьтесь ему.

    Под Mac найтиприменение -> полезность -> доступ к брелку, при открытой связке ключей выберитеCharles Proxy CAСертификат, дважды щелкните, установите сертификат навсегда доверяй.

  • 3. Щелкните правой кнопкой мыши имя домена и включите https-прокси.

После этих трех шагов мы можем перехватить пакет запроса https на Mac, как показано ниже.


До сих пор заголовок запроса, тело запроса, заголовок ответа и тело ответа https можно было увидеть в виде открытого текста.

Перехватывать https пакеты на телефоне

Есть три шага, чтобы разблокировать эту позу:

  • 1. Завершить операцию перехвата https пакетов под mac.
  • 2. Установите прокси для мобильного телефона, ip адрес прокси - это mac адрес.

    Меню -> Справка -> Локальный IP-адрес, вы можете проверить IP-адрес Mac.

  • 3. После настройки прокси для мобильного телефона, в это время Чарльз под маком выскочит окно для разрешения доступа, нажимаем Разрешить:
  • 4. Установите и активируйте корневой сертификат Charles на своем телефоне.
    • Меню -> Справка -> SSL-прокси -> установить корневой сертификат Charles на мобильное устройство или удаленный браузер
      • Откройте браузер на телефоне и введите chls.pro/ssl, загрузите корневой сертификат charles и установите его.
      • Этот шаг особенно важен. На телефоне IOS откройте «Настройки» -> «Основные» -> «Об этом Mac» -> «Настройки доверия сертификатов» и включите только что загруженный сертификат Charles.

  • 5. Последний шаг — выбрать доменное имя на Charles, щелкнуть правой кнопкой мыши и разрешить прокси.

    После выполнения этих действий мы можем увидеть пакеты https на мобильном телефоне на Чарльзе.

    Изменить заголовок ответа на запрос https

    Ранее я говорил о сценарии, как реализовать междоменное взаимодействие на этапе разработки, а также упомянул, что этого можно достичь, изменив заголовок ответа https с помощью charles.Конкретные шаги операции следующие:

    Вот пример. Я хочу, чтобы страница под моим доменным именем ifanqi.me имела доступ к интерфейсу под Baidu. Шаги следующие:

  • 1. Меню -> Инструменты -> Перезаписать, откройте панель настроек.
  • 2. Добавьте правило

  • 3. Добавьте заголовки ответа

После этой жестокой операции страница ifanqi.me может получить доступ к интерфейсу Baidu. Заинтересованные студенты могут попробовать.Изменив заголовок запроса и заголовок ответа, мы можем вызывать интерфейс других веб-сайтов по своему желанию, и в то же время углубить наше пониманиеhttp(s)понимание соглашения.

сопоставление ресурсов

Проще говоря, сопоставление ресурсов — это сопоставление запроса онлайн-ресурса с другим онлайн-ресурсом или с локальным файлом. Например, сопоставление ресурсов может помочь мне при запросеxxx.com/index.jsпри фактическом запросеmmm.com/index.jsили файл js на моем локальном жестком диске. Какая от этого польза? Как упоминалось выше, вы можете быстро устранять неполадки и решать онлайн-проблемы.

Добавляйте журналы (такие как консоль или оповещения) в локальные js, чтобы быстро обнаруживать проблемы.
После того, как проблема решена, можно проверить, решена ли проблема.

Давайте разблокируем эти две позы.

удаленное картографирование

    1. Меню -> Инструменты -> Map Remote, откройте панель настроек.
    1. Установите адрес файла до сопоставления и адрес файла после сопоставления


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

локальное отображение

  • 1. Меню -> Инструменты -> Карта Локальная, откройте панель настроек.
  • 2. Установите адрес файла перед сопоставлением и выберите локальный файл после сопоставления.
    После установки этих двух шагов можно реализовать сопоставление локальных ресурсов.

Сопоставление ресурсов относительно просто, но оно может помочь нам устранять неполадки, решать и проверять онлайн-проблемы.

На этом этапе разблокируются несколько важных поз Чарльза. К тому же у Чарльза очень много интересных функций, вы можете изучить их самостоятельно, когда будет время, все они относительно просты. Здесь я просто перечисляю:

  1. Точка останова для запроса.
  2. Тест параллельного запроса.
  3. обратный прокси.
  4. Ограничение скорости интернета.
  5. DNS-спуфинг.
  6. ...

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