2016-11-11 4 views
8

मैं the documentation का पालन करने की कोशिश की लेकिन Python 3 में urlparse.parse.quote_plus() उपयोग करने के लिए सक्षम नहीं था की है:पाइथन 3 में यूआरएल एन्कोड कैसे करें?

from urllib.parse import urlparse 

params = urlparse.parse.quote_plus({'username': 'administrator', 'password': 'xyz'}) 

मैं

AttributeError: 'function' object has no attribute 'parse'

उत्तर

16

मिल आप प्रलेखन पढ़ने में भूलना। आप दो काम करने की जरूरत है: एक यूआरएल में

  1. उद्धरण प्रत्येक कुंजी और अपने शब्दकोश से मूल्य, और
  2. एनकोड उन

सौभाग्य से urllib.parse.urlencode एक ही चरण में दोनों उन चीजों करता है, और है कि आप जिस समारोह का उपयोग कर रहे हैं।

from urllib.parse import urlencode, quote_plus 

payload = {'username':'administrator', 'password':'xyz'} 
result = urlencode(payload, quote_via=quote_plus) 
# 'password=xyz&username=administrator' 
संबंधित मुद्दे