Pertanyaan Apa artinya% 5B dan% 5D dalam permintaan POST?


Saya mencoba menulis kelas Java untuk masuk ke situs web tertentu. Data yang dikirim dalam permintaan POST untuk masuk adalah

user%5Blogin%5D=uesrname&user%5Bpassword%5D=123456

Saya ingin tahu apa %5B dan %5D berarti di kunci login pengguna.

Bagaimana cara saya menyandikan data ini?


188
2018-04-01 16:25


asal


Jawaban:


Sesuai jawaban ini berakhir sini: str='foo%20%5B12%5D' mengkodekan foo [12]:

%20 is space
%5B is '['
and %5D is ']'

Ini disebut enkode persen dan digunakan dalam pengkodean karakter khusus dalam nilai parameter url.

EDIT Ngomong-ngomong saat saya membaca https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description, baru terpikir oleh saya mengapa begitu banyak orang melakukan pencarian yang sama. Lihat catatan di bagian bawah halaman:

Juga perhatikan bahwa jika seseorang ingin mengikuti yang lebih baru RFC3986   untuk URL, membuat tanda kurung persegi dilindungi (untuk IPv6) dan dengan demikian tidak   disandikan ketika membentuk sesuatu yang dapat menjadi bagian dari URL (seperti a   host), yang berikut ini dapat membantu.

function fixedEncodeURI (str) {
    return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}

Semoga ini akan membantu orang-orang menyelesaikan masalah mereka ketika mereka menemukan pertanyaan ini.


348
2018-04-01 16:30



Mereka mewakili [ dan ]. Pengodean ini disebut "Pengodean URL".


23
2018-04-01 16:28



Yah, itu biasa pengkodean url 

Jadi mereka berdiri untuk [, masing-masing ]


8
2018-04-01 16:28



[] diganti dengan %5B%5D pada waktu encoding URL.


7
2018-04-01 17:47



Untuk melihat sekilas, Anda dapat menggunakan persen-en / decode alat online ini.


2
2017-08-19 12:51



Data mungkin telah diposting awalnya dari formulir web yang terlihat sedikit seperti ini (tapi mungkin jauh lebih rumit):

<form action="http://example.com" method="post">

  User login    <input name="user[login]"    /><br />
  User password <input name="user[password]" /><br />

  <input type="submit" />
</form>

Jika metode itu "dapatkan" bukan "posting", mengklik tombol submit akan membawa Anda ke URL yang terlihat sedikit seperti ini:

http://example.com/?user%5Blogin%5D=username&user%5Bpassword%5D=123456

atau:

http://example.com/?user[login]=username&user[password]=123456

Server web di ujung lain kemungkinan akan mengambil user[login] dan user[password] parameter, dan membuatnya menjadi user objek dengan login dan password kolom yang berisi nilai-nilai itu.


0
2018-06-13 15:07