[Tutor] + converted to 25 in http string
Martin Walsh
mwalsh at groktech.org
Tue Apr 24 14:47:31 CEST 2007
Hi,
govind goyal wrote:
> Hi,
>
> I am using http to automate my Access point(AP) configuration where I sent
> following strings to AP server through script.
>
> params = urllib.urlencode
> ({'WRegion':"USA",'ssid':"wifi",'ap':"ap",'ssid_enable':"ssid_enable",*
> 'wire_mode':"b+only",*
> 'w_channel':6,'lan_ac':"everyone",'int_ac':"everyone"})
You might consider having a look at the urllib quote_plus and
unquote_plus methods for clarification. I suspect the value you have
captured with ethereal is already quoted ('+' signs for spaces, etc) --
so you would have to unquote_plus it to find the correct value for use
in your script.
.>> urllib.unquote_plus('b+only')
'b only'
And, it appears that urllib.urlencode quotes the parameters while
constructing the query-string:
.>> params = urllib.urlencode({'write_mode': 'b only'})
.>> params
'write_mode=b+only'
HTH,
Marty
>
> Above string I captured using a tool ethereal and then implementing this in
> my script.
> But the problem is that when I run this script all configurations in AP are
> OK except the parameter marked as bold in above string.
>
> I used the same tool ethereal to see what string is actually passing to
> Access point while I run my script and I got following:
>
> params = urllib.urlencode
> ({'WRegion':"USA",'ssid':"wifi",'ap':"ap",'ssid_enable':"ssid_enable",*
> 'wire_mode':"b25only",*
> 'w_channel':6,'lan_ac':"everyone",'int_ac':"everyone"})
>
> In conclusion,the character "+" is getting converted into"25" whenever I
> run
> script.Thats why all other configuartions are OK except above mentioned
> case.
>
> Can anybody help to resolve this issue?
>
> Best Regards,
>
> Govind Goyal
>
More information about the Tutor
mailing list