Bonjour à tous,
Sur notre forum, nous rencontrons un problème où, lorsqu’une URL est affichée dans un encadré (oneboxed), elle modifie l’URL elle-même.
Par exemple :
Voici un lien vers notre site web :
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel%2CHet+Clown&s2=Pastel%2CHet+Clown
Mais voici ce qui s’affiche lorsqu’elle est encadrée :
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel,Het%2BClown&s2=Pastel,Het%2BClown
Avec :
« %2C » remplacé par « , ».
« + » remplacé par « %2B ».
Cela donne des résultats incorrects à nos utilisateurs sur notre site.
Existe-t-il un moyen d’empêcher cela ou une solution de contournement ?
Richie
(Richie Rich)
Mars 8, 2021, 8:19
2
Ces deux liens sont identiques :
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel,Het%2BClown&s2=Pastel,Het%2BClown
Pourriez-vous les entourer de backticks afin que nous puissions les voir comme vous l’avez prévu ?
Désolé, c’est de ma faute
Voici à quoi cela devrait ressembler :
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel%2CHet+Clown&s2=Pastel%2CHet+Clown
Voici ce qui se passe lors de la prévisualisation en un seul bloc :
https://www.morphmarket.com/c/reptiles/pythons/ball-pythons/genetic-calculator/?s1=Pastel,Het%2BClown&s2=Pastel,Het%2BClown
Si l’URL fonctionne dans les deux cas, pourquoi cela importe-t-il ?
Parce qu’ils mènent à des résultats différents.
Voici ce qui devrait s’afficher via le lien :
Pas ceci :
Cela fait une énorme différence lorsqu’il s’agit de calculer correctement la génétique.
david
(David Taylor)
Juillet 24, 2023, 11:59
9
Il semble que les URL dans le message d’origine ne soient plus “oneboxables” (pas de balises opengraph sur le site). Mais juste pour information, ce problème aurait dû être résolu par
committed 10:55AM - 09 Aug 22 UTC
normalized_encode in addressable has a number of issues, including https://githu… b.com/sporkmonger/addressable/issues/472
To temporaily work around those issues for the majority of cases, we try parsing with `::URI`. If that fails (e.g. due to non-ascii characters) then we will fall back to addressable.
Hopefully we can simplify this back to `Addressable::URI.normalized_encode` in the future.
This commit also adds support for unicode domain names and emoji domain names with escape_uri.
This removes an unneeded hack checking for pre-signed urls, which are now handled by the general case due to starting off valid and only being minimally normalized. Previous test case continues to pass.
UrlHelper.s3_presigned_url? which was somewhat wide was removed.