Form Value Won't Post/Submit

S

SuperMetroid

The html code of the form, and my code are below. I can't get the
value to post/submit.. instead I get an error. Can anyone help?

HTML Code of Form:
<form method='post' autocomplete='off'>
<input type='hidden' name='action' value='grant-revoke' />
<input type='hidden' name='creator_badge_index' value='1' />

<input type='hidden' name='token'
value='92dcd92a8bc16f73f330d118ae1ed891' />
<input type='hidden' name='do-grant' value='1' />
<div id='grant-div'><span class='label'>Grant badge: </span><input
type='text' id='grant-userid' name='grant-userid' value='userid /
avatar name' /><input type='submit' value='Grant!' /></div>
</form>

My Code:
opener = urllib.request.build_opener()
cj = http.cookiejar.MozillaCookieJar()
cj.load('C:/Users/Alison/Documents/moz_cookies.txt')
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor
(cj))

params = urllib.parse.urlencode({'grant-userid' : 'Guest_xLolKittyx'})
form = urllib.request.OpenerDirector.open('http://www.imvu.com/catalog/
web_manage_badges.php?action=grant-revoke&creator_badge_index=1',
params)
data = form.read()
form.close()
print(data)

Error Message:
Traceback (most recent call last):
File "C:\Python31\htmlparser.py", line 34, in <module>
form = urllib.request.OpenerDirector.open('http://www.imvu.com/
catalog/web_manage_badges.php?action=grant-
revoke&creator_badge_index=1', params)
File "C:\Python31\lib\urllib\request.py", line 332, in open
req = Request(fullurl, data)
File "C:\Python31\lib\urllib\request.py", line 174, in __init__
self._parse()
File "C:\Python31\lib\urllib\request.py", line 179, in _parse
raise ValueError("unknown url type: %s" % self.full_url)
ValueError: unknown url type: grant-userid=Guest_xLolKittyx
 
P

Piet van Oostrum

SuperMetroid said:
S> The html code of the form, and my code are below. I can't get the
S> value to post/submit.. instead I get an error. Can anyone help?
S> HTML Code of Form:
S> <form method='post' autocomplete='off'>
S> <input type='hidden' name='action' value='grant-revoke' />
S> <input type='hidden' name='creator_badge_index' value='1' />
S> <input type='hidden' name='token'
S> value='92dcd92a8bc16f73f330d118ae1ed891' />
S> <input type='hidden' name='do-grant' value='1' />
S> <div id='grant-div'><span class='label'>Grant badge: </span><input
S> type='text' id='grant-userid' name='grant-userid' value='userid /
S> avatar name' /><input type='submit' value='Grant!' /></div>
S> </form>
S> My Code:
S> opener = urllib.request.build_opener()
S> cj = http.cookiejar.MozillaCookieJar()
S> cj.load('C:/Users/Alison/Documents/moz_cookies.txt')
S> opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor
S> (cj))
S> params = urllib.parse.urlencode({'grant-userid' : 'Guest_xLolKittyx'})
S> form = urllib.request.OpenerDirector.open('http://www.imvu.com/catalog/
S> web_manage_badges.php?action=grant-revoke&creator_badge_index=1',
S> params)

You are mixing GET-type (indicated by ? in the URL) and POST-type
parameters. Put the action and creator_badge_index parameters also in
the dictionary. And probably you need to provide the other hidden fields
from the form also.

Something like (untested):

paramdict = {
'action': 'grant-revoke',
'creator_badge_index': '1',
'token': '92dcd92a8bc16f73f330d118ae1ed891',
'do-grant': '1',
'grant-userid' : 'Guest_xLolKittyx',
}
params = urllib.parse.urlencode(paramdict)
url = 'http://www.imvu.com/catalog/web_manage_badges.php'
form = urllib.request.OpenerDirector.open(url, params)
 
S

SuperMetroid

Thank you so much for the quick response. I tried exactly what you
said but it still yields an error.. :/

Here is the Error Message:
Traceback (most recent call last):
File "C:\Python31\htmlparser.py", line 40, in <module>
form = urllib.request.OpenerDirector.open('http://www.imvu.com/
catalog/web_manage_badges.php?action=grant-
revoke&creator_badge_index=1', params)
File "C:\Python31\lib\urllib\request.py", line 332, in open
req = Request(fullurl, data)
File "C:\Python31\lib\urllib\request.py", line 174, in __init__
self._parse()
File "C:\Python31\lib\urllib\request.py", line 179, in _parse
raise ValueError("unknown url type: %s" % self.full_url)
ValueError: unknown url type: action=grant-
revoke&creator_badge_index=1&token=92dcd92a8bc16f73f330d118ae1ed891&do-
grant=1&grant-userid=Guest_xLolKittyx
 
S

SuperMetroid

Anyway.. I'll close this thread, since Piet is helping me somewhere
else.

No more responses here are needed, thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,822
Latest member
israfaceZa

Latest Threads

Top