2013-11-24 3 views
2

Попытка добавить функцию совместного доступа на мой сайт, но у GPlus, похоже, есть проблемы с распространением URL-адресов с пробелами в них.Обмен ссылками (share? Url =) с пробелами?

Даже сбежавшие они, похоже, не работают. например; https://plus.google.com/share?url=http://www.google.com/%23test%20test

Кажется, что оно только до того, как% 20.

Любые идеи? Это ошибка? Я делаю что-то неправильно?

Сайт довольно аяксии, и в токенах истории было бы больно использовать нестандартное экранирование символов только для google plus.

+0

Могли бы люди спуститься, объясните, как я мог бы улучшить свой вопрос, спасибо. – darkflame

ответ

2

Я не думаю, что это ошибка в Google+, а скорее ее намеренная, потому что эти URL-адреса должны быть закодированы в двойном URL-адресе, потому что один URL-адрес использует второй URL-адрес, поэтому ваш общий URL-адрес должен быть http% 3A% 2F% 2Fwww.google.com% 2F% 2523test% 2Btest

Это не сработает, чтобы создать предварительный просмотр в фрагменте share, но URL-адрес верен, когда он является общим.

Все сказано, что вы не должны использовать пробелы в своих URL-адресах, потому что они считаются небезопасными, см. RFC 1738. Вы должны изменить структуру URL своего приложения.

+1

Я не использую пробелы «" в своих URL-адресах, но% 20 ...% 20 действительно считается небезопасным? Как уже упоминалось, это веб-сайт AJAX, поэтому эти токены истории могут содержать, например, имя или короткую цитату. "Thomas Wrobel" таким образом является "Thomas% 20Wrobel" Неверно? Если это не ускользнуло, что же ему тоже избежать? "+"? Должен ли я вручную использовать свою собственную систему экранирования, чтобы избежать пробелов в тексте даже до использования URL-адреса? Это кажется еще более взломанным. – darkflame

+0

Кроме того, двойное экранирование также не работает. Интересный GooglePlus фактически не распознает «http% 3A% 2F% 2Fwww.google.com% 2F% 2523test% 2Btest» как URL-адрес вообще. – darkflame

+1

Как я уже сказал, предварительный просмотр не будет работать, но URL-адрес передается правильно, а части сохраняются, см. Мой тестовый пост: https://plus.google.com/101608135629412029753/posts/dGAJs39t4dY – BrettJ

Смежные вопросы