Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
1

Чужие HTTP-запросы в HTTPS

05.02.2014, 21:02. Просмотров 1094. Ответов 7
Метки нет (Все метки)

Привет всем!

Возникла интересная задача:
Со стороны заказчика пришел JavaScript-овый кусок кода - мол, выполняйте его после такого-то события.
Через неделю пришло письмо - надо срочно сделать так, чтобы все запросы при выполнении этого скрипта уходили через HTTPS.

Что имеем на данный момент:
В скрипте происходит следующее: инициализируется переменные, и подгружается внешний скрипт, который выполняет всю работу.
Скрипт гружу в WebView.
Сниффером смотрю, что на выходе - на выходе HTTP запросы.

Перекопал интернет, сам сидел, мучался - пока безрезультатно.. Не в курсе ли кто, как можно перехватить (как вариант) http-запросы, которые формируются в результате работы этого скрипта, и отправлять их с использованием HTTPS-протокола?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2014, 21:02
Ответы с готовыми решениями:

Отправка HTTP (не HTTPS) запроса в Swift 2.0 с использованием NSURLSession
Доброго времени суток. Возникла проблема с отправкой POST запроса по http....

HTTP и HTTPS запросы в моей Java программе и подальшая обработка полученного HTML
В общем, требуется создать метод, который бы давал моей программке на Java...

www-http сниффер. Как отследить HTTP запросы?
Посмотрел я вот эту статью: ...

Https и http
Всем привет! Нашел класс для отправки post - запроса на сайт, вот вопрос такой...

HTTP via HTTPS
Коллеги, подскажите-ка такой момент: есть у меня некая информационная система,...

7
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
06.02.2014, 07:17 2
kievkao, а если скрипт изменить?

Цитата Сообщение от kievkao Посмотреть сообщение
которые формируются в результате работы этого скрипта,
Просто не особо ясно что там делается. Я понимаю, NDA, etc, но все же...
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
06.02.2014, 11:26 3
А не логичнее перевалить это на разработчиков скрипта?
0
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
06.02.2014, 17:20  [ТС] 4
Ну, дело там вот в чем:
Скрипт от сервиса PubMatic, в котором передается инфа об устройстве, местоположении и т.д.
Для последующей обработки этого добра в рекламных целях.
С представителями PubMatic вроде бы связались, они обещали "чем-то помочь", но, судя по их предыдущим актам помощи - процесс будет долгим, и не факт, что результативным..

С заказчиком общаемся через десятых лиц, и, учитывая этот, и множество других факторов, думаем, что скорей всего, все ляжет на нас..

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

Как вы считаете, в принципе, можно каким-то образом "перехватить" в приложении запросы, выполняемые WebView, в который я гружу html-файл со скриптом внутри?

Я слышал про фреймворк JavaScriptCore, и даже начал с ним разбираться, но коллеги выяснили, что на iOS 6 он не поддерживается, а для нас это критично.
С этим фреймворком, наверное, было бы легче что-то сделать.. Но, увы.
0
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
06.02.2014, 21:23 5
Первое, что приходит в голову:
перехватываем запросы в делегате WebView в
Objective-C
1
webView:shouldStartLoadWithRequest:navigationType:
Если в урле запроса http, делаем мутабельную копию запроса
Objective-C
1
[request mutableCopy]
, заменяем http на https, выполняем запрос
Objective-C
1
[UIWebView loadRequest:]
и возвращаем NO
Но я не уверен, пробовать надо.
0
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
07.02.2014, 14:33  [ТС] 6
Цитата Сообщение от glvrzzz Посмотреть сообщение
Первое, что приходит в голову:
перехватываем запросы в делегате WebView в
Objective-C
1
webView:shouldStartLoadWithRequest:navigationType:
Если в урле запроса http, делаем мутабельную копию запроса
Objective-C
1
[request mutableCopy]
, заменяем http на https, выполняем запрос
Objective-C
1
[UIWebView loadRequest:]
и возвращаем NO
Но я не уверен, пробовать надо.
Спасибо, но, к сожалению, не помогло - request всегда == nil..
Наверное, это из-за того, что я инициирую загрузку WebView методом loadHTMLString, а не loadRequest
0
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
10.02.2014, 19:23  [ТС] 7
До момента, пока задача не стала на паузу указанием свыше, продвинулся по своему вопросу, прочитав следующий пост на StackOverflow:
http://stackoverflow.com/questions/5...al-image-files

Может кому тоже пригодится.
1
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
12.02.2014, 15:59  [ТС] 8
Победа!
Надежды на то, что эта сверхинтересная задача отменится, не оправдались, и к ней снова пришлось вернуться.

Проблему решил вот этот чудный класс:
https://github.com/marcuswestin/WebViewProxy

Вот таким образом я его сконфигурировал:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
[WebViewProxy handleRequestsWithHost:@"xxx" handler:^(NSURLRequest *req, WVPResponse *res) {
        NSString* proxyUrl;
        
        if ([req.URL.query length] && [req.URL.query rangeOfString:@"xxx" options:NSCaseInsensitiveSearch].location != NSNotFound) {
            proxyUrl = [req.URL.absoluteString stringByReplacingOccurrencesOfString:@"http" withString:@"https"];
        }
        else {
            proxyUrl = req.URL.absoluteString;
        }
        NSURLRequest* proxyReq = [NSURLRequest requestWithURL:[NSURL URLWithString:proxyUrl]];
        [NSURLConnection sendAsynchronousRequest:proxyReq queue:queue completionHandler:^(NSURLResponse* proxyRes, NSData* proxyData, NSError* proxyErr) {
...
И сниффером прекрасно вижу, как все, что мне надо, уходит по https.

Правда, надо теперь разобраться с кодом самого класса, что в нем там происходит, чтобы понимать, что я накрутил))
1
12.02.2014, 15:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2014, 15:59

Https и http
Здравствуйте проблема есть, сайту на https нужно получить POST запрос от сайта...

С HTTP:// на HTTPS://
Есть сервер с Apach 2.2.16 На котором поднято несколько виртуальных хостов,...

HTTPS запросы
Здравствуйте! вот у меня есть такой запрос "GET http://site.ru:80/...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru