Я думал, что сообщение отправляло всю информацию в заголовках HTTP, когда вы использовали сообщение (я не очень хорошо осведомлен по этому вопросу, очевидно), поэтому я запутался, почему вы должны urlencode () данных к key=value&key2=value2
формат. Как это форматирование вступает в игру при использовании POST?:
# Fail
data = {'name': 'John Smith'}
urllib2.urlopen(foo_url, data)
но
# Success
data = {'name': 'John Smith'}
data = urllib.urlencode(data)
urllib2.urlopen(foo_url, data)