Request: Permintaan tidak dialihkan karena tajuk lokasi yang disandikan

Dibuat pada 2 Jan 2018  ·  3Komentar  ·  Sumber: request/request

Ringkasan

Hai teman-teman, saya mengalami masalah dengan mengirim permintaan ke URL yang mendahului pengalihan ke yang lain setelah menerima 301 .

Contoh Paling Sederhana untuk Direproduksi

request('http://www.tanitbar.ru/menu.aspx?cat=6', function (error, response, body) {
  console.log('error:', error);
  console.log("response", response);
});,

1) Respon pertama berisi kode status sama dengan 301 (artinya kita harus mengarahkan ulang ke URL dari header location , tetapi berisi huruf Rusia yang dikodekan: Салаты

2) Karena URL ini ( http://www.tanitbar.ru/Салаты ) tidak ada, saya mendapatkan kesalahan 404

Perilaku yang Diharapkan




Berharap untuk mendapatkan isi halaman html, dengan kode status sama dengan 200

Perilaku Saat Ini



Saya mendapatkan 404 untuk saat ini

Kemungkinan Solusi



curl berfungsi dengan baik dan dialihkan ke URL lain setelah menerima 301
curl "http://www.tanitbar.ru/menu.aspx?cat=6" -L , (curl tidak mengarahkan ulang secara default, oleh karena itu kita harus melewati opsi -L )

Saya kira kita harus memecahkan kode tajuk lokasi entah bagaimana sebelum pengalihan (Ngomong-ngomong saya tidak bisa memecahkan kode dengan tangan)

Konteks



Tidak dapat menerima konten halaman dari JS.

Lingkungan Anda

| perangkat lunak | Versi: kapan
| ---------------- | -------
| permintaan |^2.83.0
| simpul |8.7.0
| npm |5.4.2
| Sistem Operasi | Linux, Ubuntu

Terima kasih sebelumnya!

stale

Komentar yang paling membantu

@mikeal https://github.com/nodejs/node/issues/17390 mungkin terkait
Omong-omong, Buffer.from(location, 'binary').toString('utf8') itu bekerja untuk saya.

Semua 3 komentar

Apakah kita bahkan melakukan sesuatu dengan penyandian tajuk itu? Saya pikir kita baru saja melakukannya dengan benar dari parser Node.js.

@mikeal https://github.com/nodejs/node/issues/17390 mungkin terkait
Omong-omong, Buffer.from(location, 'binary').toString('utf8') itu bekerja untuk saya.

Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Terima kasih atas kontribusi Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat