C # доступ к веб-страницам, созданным на iPhone - PullRequest
4 голосов
/ 19 мая 2011

Я пытаюсь получить доступ к веб-страницам на C #, которые созданы специально для iPhone. Я обнаружил, что вы можете подделать пользовательский агент, чтобы он был "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3", чтобы веб-сайт думал, что вы iPhone.

Однако для некоторых веб-сайтов я получаю только ответ с просьбой сначала добавить веб-сайт на домашний экран. Глядя на ответы, кажется, что они проверяют некоторую переменную "window.navigator.standalone", чтобы увидеть, как к веб-странице обращались. После поиска в Google ( см. Здесь ) кажется, что это обычный способ определить, был ли доступ к веб-странице с главного экрана или нет.

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

1 Ответ

3 голосов
/ 19 мая 2011

window.navigator.standalone - это скрипт-тест, выполняемый на стороне клиента для определения места запуска сайта (домашний экран или сафари). Подмена пользовательского агента в запросе заставит сайт обслуживать контент, однако когда сайт опрашивает window.navigator.standalone, это, очевидно, ложное возвращение.

Вы не упомянули, выполняете ли вы сценарии или что вы пытаетесь достичь, поэтому я могу только предположить, что запрашиваемый вами сайт предназначен для того, чтобы сначала отображать версию для запуска safari, а затем при тестировании переменной альтернативные запросы.

Не могли бы вы предоставить более подробную информацию? Возможно, адрес сайта, который вы запрашиваете?

UPDATE:

Хорошо, тогда я прав. Если этот скрипт не запускается, вы не увидите нужный сайт. Я предполагаю, что вы имеете дело со своими собственными запросами. Что вам нужно сделать, это отправить еще один запрос в виде POST на Test.aspx с данными публикации hidHomeScreen = true, таким образом эмулируя отправку формы.

К сожалению, это не универсальное решение, так как обнаружение может варьироваться в зависимости от реализации сайта.

...