I've run into similar issues with trying to figure out how to format the command for Popen. Now I almost always use shlex.split() to do it for me.
Example from python.org:
>>> import shlex, subprocess
>>> command_line = raw_input()
/bin/vikings -input eggs.txt -output "spam spam.txt" -cmd "echo '$MONEY'"
>>> args = shlex.split(command_line)
>>> print args
['/bin/vikings', '-input', 'eggs.txt', '-output', 'spam spam.txt', '-cmd', "echo '$MONEY'"]
>>> p = subprocess.Popen(args) # Success!
So for this particular example, you might have something like
>>> import shlex, subprocess
>>> url = 'http://www.example.com/somepage.html?foo=spam&bar=eggs&baz=ni'
>>> cmd = 'wget --verbose --auth-no-challenge --no-check-certificate -O res ' + url
>>> args = shlex.split(cmd)
>>> p = subprocess.Popen(args)
>>> --2013-12-13 13:36:11-- http://www.example.com/somepage.html?foo=spam&bar=eggs&baz=ni