Nancy: Masalah rute

Dibuat pada 30 Sep 2016  ·  11Komentar  ·  Sumber: NancyFx/Nancy

Saya punya rute
Get["/{url}/{printer}"]

Jika saya mengirim url ini ke Chrome, semuanya berfungsi dengan baik
localhost:8888/yandex.ru/HP Universal Printing PCL 6

Kemudian saya mencoba mengirim url ini, tetapi rute tidak berfungsi.
localhost:8888/http://www.yandex.ru/HP Universal Printing PCL 6

Saya juga mencoba HttpUtility.UrlEncode("http://www.yandex.ru"); tapi tidak berhasil juga.
localhost:8888/http%3a%2f%2fwww.yandex.ru/HP Universal Printing PCL 6

404 tidak ditemukan
Sumber daya yang Anda minta tidak dapat ditemukan.

Kami meminta maaf :-(

Komentar yang paling membantu

Jadi penyandian ganda tidak berfungsi untuk Anda @Radzhab? Hmmm seharusnya karena kita hanya memecahkan kode rute sekali. Itu aneh.

Saya punya waktu luang malam ini jadi saya akan mencoba mereproduksi ini dan melihat apakah ada solusi cepat untuk membuka blokir Anda.

Semua 11 komentar

Template masalah ada karena suatu alasan. Ini meminta Anda untuk mengisi detailnya, seperti versi mana yang Anda gunakan, host mana yang Anda jalankan, dll., jadi kami tidak perlu melakukannya.

Tapi di sini kita... bertanya; host apa dan versi apa yang Anda gunakan? :menjulurkan lidah menutup mata:

Ada juga pertanyaan Stack Overflow duplikat untuk ini oleh @Radzhab http://stackoverflow.com/questions/39785864/how-pass-url-params-to-route

Ini terlihat seperti hal "dua kali decoding" lama?

Pengkodean ganda akan menyelesaikan masalah:

localhost:8888/http://www.yandex.ru/HP Universal Printing PCL 6

Ketika ini tidak dikodekan, atau dikodekan (sekali), URL didekodekan dan akhirnya dibagi pada // .

Saya menggunakan versi 1.4.1.0

Dan tuan rumah?

https://gist.github.com/Radzhab/46abc95cdfe4b018ad3c9a8dae7003ca
Nancy.dll 1.4.1
Nancy.Hosting.Self.dll 1.4.1
Mono.Posix.dll 4.0.0

Ya, itu mungkin masalah decoding ganda yang memengaruhi hosting mandiri. Ini diperbaiki di https://github.com/NancyFx/Nancy/pull/2462

Anda juga harus memperbarui ke salah satu versi pra-rilis 2.0 atau menggandakan kode nilai yang Anda berikan :cry:

Saya menginstal pra-rilis tetapi semuanya sama - tidak berfungsi .. Saya mencoba url ini
localhost:8888/https%3A%2F%2Fwww.google.com%2F2
dan localhost:8888/https%3A%2F%2Fwww.google.com/F2

Jadi penyandian ganda tidak berfungsi untuk Anda @Radzhab? Hmmm seharusnya karena kita hanya memecahkan kode rute sekali. Itu aneh.

Saya punya waktu luang malam ini jadi saya akan mencoba mereproduksi ini dan melihat apakah ada solusi cepat untuk membuka blokir Anda.

memperbarui.......

Apakah halaman ini membantu?
0 / 5 - 0 peringkat