Tôi đang cố gắng mã hóa từ điển trong python bằng urllib.urlencode. Vấn đề là, tôi phải mã hóa một mảng.urlencode một mảng giá trị
Kết quả cần phải được:
criterias%5B%5D=member&criterias%5B%5D=issue
#unquoted: criterias[]=member&criterias[]=issue
Nhưng kết quả tôi nhận được là:
criterias=%5B%27member%27%2C+%27issue%27%5D
#unquoted: criterias=['member',+'issue']
Tôi đã thử một vài điều, nhưng tôi dường như không thể có được kết quả đúng.
import urllib
criterias = ['member', 'issue']
params = {
'criterias[]': criterias,
}
print urllib.urlencode(params)
Nếu tôi sử dụng cgi.parse_qs
để giải mã một chuỗi truy vấn chính xác, tôi có được điều này là kết quả:
{'criterias[]': ['member', 'issue']}
Nhưng nếu tôi mã hóa kết quả đó, tôi nhận được một kết quả sai lại. Có cách nào để tạo ra kết quả mong đợi không?
'cig.parse_qs' không được dùng nữa (chỉ được giữ lại để tương thích ngược), vì vậy, tốt hơn nên sử dụng' urlparse.parse_qs' – ChristopheD
Cảm ơn bạn đã tìm mẹo. Tôi chỉ sử dụng nó để so sánh, vì vậy nó không thực sự được sử dụng. – Ikke