Отключить прокси для NSURLSession

70
8

Я обнаружил, что когда мое устройство iOS автоматически настраивает прокси-сервер, все мои NSURLSessions используют его для загрузки/загрузки/запросов. Это становится проблемой, когда я пытаюсь выполнить эти запросы с других устройств в одной локальной сети. Мне нужно отключить прокси-сервер, который устройство автоматически определяет для NSURLSession.

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

Любая помощь будет оценена!

спросил(а) 2020-04-04T01:12:57+03:00 5 месяцев, 4 недели назад
1
Решение
69

Если вы создаете пустой словарь прокси-сервера при создании конфигурации сеанса, NSURLSession должен игнорировать системные прокси во всех сеансах, созданных с помощью этой конфигурации сеанса.

Если вы пытаетесь переопределить его для чего-то, где вы не создали сеанс (например, сторонние структуры, веб-представления и т.д.), Вы обычно можете решить это, создав и зарегистрировав (глобально) NSURLProtocol, который принимает запросы и переиздает их в вашей собственной сессии (добавив некоторый пользовательский заголовок, чтобы вы не повторяли повторный вызов одного и того же запроса в бесконечном цикле). Существуют некоторые основные примеры написания пользовательских протоколов на веб-сайте Apple.

ответил(а) 2020-04-04T01:29:29.442000+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема