I am trying to simulate a get request with python. I have a dictionary of parameters and am using urllib.urlencode to urlencode them
I notice that although the dictionary is of the form:
{ "k1":"v1", "k2":"v2", "k3":"v3", .. }
upon urlencoding the order of the parameters is switched to:
/?k1=v1&k3=v3%k2=v2...
why does this happen and can I force the order in the dictionary to stay the same?
As you can see in the comments, Python dictionaries are not ordered, but there is an
OrderedDict
in Python that you can use to achieve the result you want:More info about OrderedDIct