Используйте UIWebView с локальным прокси-сервером, работающим на iPhone

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

  •  06-07-2019
  •  | 
  •  

Вопрос

Допустим, у меня есть приложение для iPhone с UIWebView. Можно ли написать свой собственный HTTP-прокси-сервер на iPhone, а затем пропустить через этот прокси каждую страницу, загруженную в UIWebView?

Я думаю, что есть две основные части:

<Ол>
  • Написать HTTP-прокси-сервер на iPhone
  • Убедитесь, что все запросы из UIWebView проходят через мой собственный прокси-сервер
  • Насколько сложно было бы написать такой прокси-сервер? Что нужно сделать? Я знаю, что это, вероятно, очень наивно с моей точки зрения, но это звучит довольно просто, разве вы не делаете в основном получение сообщений от клиента и их маршрутизацию на сервер? Что делает прокси-сервер таким сложным?

    Это может быть полезно, если вы хотите изменить заголовки HTTP запросов, отправляемых в UIWebView. Потому что, хотя параметр (NSURLRequest *) в [webView: shouldStartLoadWithRequest: navigationType:] на самом деле является (NSMutableURLRequest *) , если вы изменить любое из его значений, это не работает (жаль, что это было не так просто).

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

    Решение

    Вероятно, вам лучше создать прокси-сервер вне приложения iPhone и разместить его где-нибудь в Интернете. Затем вы можете изменить URL-адрес в shouldStartLoadWithRequest для фактической загрузки с вашего прокси-сервера.

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