Przekazywanie nazwy pliku do przeglądarki Firefox powoduje zastąpienie spacji przez %2520
zamiast %20
.Przestrzeń HTML wyświetla się jako% 2520 zamiast% 20
mam następujące HTML w pliku o nazwie myhtml.html
:
<img src="C:\Documents and Settings\screenshots\Image01.png"/>
Kiedy załadować myhtml.html
do Firefoksa, obraz pojawia się jako uszkodzonego obrazu. Klikam prawym przyciskiem myszy na link, aby zobaczyć zdjęcie, i pokazuje to zmodyfikowany adres URL:
file:///c:/Documents%2520and%2520Settings/screenshots/Image01.png
^
^-----Firefox changed my space to %2520.
Co do cholery? Przekształcił moją przestrzeń w %2520
. Czy nie powinien on konwertować tego na %20
?
Jak zmienić ten plik HTML, aby przeglądarka mogła znaleźć moje zdjęcie? Co tu się dzieje?
Hexblot jest tutaj poprawny. Zwykle dzieje się tak podczas kodowania adresów URL przez programowanie, a bot przychodzi i koduje go po raz drugi. Boty mają zły zwyczaj robienia tego. Są dwa, możesz sobie z tym poradzić. 1) Możesz albo 404 albo 401 z wyjątkiem catch catch lub możesz napisać małą funkcję, która dekoduje wartości zdekodowane podwójnie, zanim przekażesz ją innej metodzie logiki biznesowej. –
Pomogło mi to zrozumieć, dlaczego otrzymałem go podczas wysyłania żądania ajax jQuery. Ustawiłem atrybut danych w żądaniu GET ajaxowym z funkcją encodeURIComponent na wartości, ale jQuery robi to już domyślnie, stąd dlaczego otrzymywałem% 2520. Naprawdę pomocne dzięki. – Asher
Nie ma argumentu wiersza poleceń dla chrome, aby powiedzieć, czy interpretować lub nie interpretować linku? –