nsurl не загружает сайты, если http или https не включают - PullRequest
1 голос
/ 29 мая 2011

У меня есть текстовое поле, в которое я могу ввести URL-адрес. Проблема в том, что если я просто наберу 'cnn.com' или какой-либо сайт без 'http://' впереди, страница не загрузится. Есть ли способ это исправить?

Я искал документацию Apple, но не смог найти нужную помощь.

Мой код:

NSString *zzz = URLbox.text;

NSURL *url = [NSURL URLWithString:zzz];
[webBrowser loadRequest:[NSURLRequest requestWithURL:url]];

Ответы [ 2 ]

14 голосов
/ 29 мая 2011

Проверьте, начинается ли входной URL (URLbox.text) с http:// или https://, а если нет, добавьте к префиксу http://.

4 голосов
/ 29 мая 2011

URL включает схему, если она не является относительной частью документа. cnn.com является случайным сокращением для http://cnn.com или http://www.cnn.com. Браузеры обычно добавляют http:// автоматически к тому, что вы вводите в адресной строке перед отправкой запроса.

Вы должны проверить, начинается ли строка пользователя со схемы (не обязательно просто http:// или https://, но этого может быть достаточно в вашем случае использования), и добавить ее по умолчанию, если она отсутствует.

...