diff options
author | RaNaN <Mast3rRaNaN@hotmail.de> | 2011-02-04 17:19:41 +0100 |
---|---|---|
committer | RaNaN <Mast3rRaNaN@hotmail.de> | 2011-02-04 17:19:41 +0100 |
commit | acd4dceb711e9148ede208bb67dc37bfaafd612b (patch) | |
tree | 8b36d3621da994285331b75061c5efefb4d60be1 /module/network/HTTPRequest.py | |
parent | oops (diff) | |
download | pyload-acd4dceb711e9148ede208bb67dc37bfaafd612b.tar.xz |
improved captcha manager
Diffstat (limited to 'module/network/HTTPRequest.py')
-rw-r--r-- | module/network/HTTPRequest.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/module/network/HTTPRequest.py b/module/network/HTTPRequest.py index 13e76d5a2..bcd2c696c 100644 --- a/module/network/HTTPRequest.py +++ b/module/network/HTTPRequest.py @@ -111,7 +111,7 @@ class HTTPRequest(): def clearCookies(self): self.c.setopt(pycurl.COOKIELIST, "") - def setRequestContext(self, url, get, post, referer, cookies): + def setRequestContext(self, url, get, post, referer, cookies, multipart=False): """ sets everything needed for the request """ url = myquote(str(url)) @@ -124,9 +124,13 @@ class HTTPRequest(): self.c.lastUrl = url if post: - post = urlencode(post) - self.c.setopt(pycurl.POSTFIELDS, post) - + if not multipart: + post = urlencode(post) + self.c.setopt(pycurl.POSTFIELDS, post) + else: + post = [(x, str(quote(y)) if type(y) in (str, unicode) else y ) for x,y in post.iteritems()] + self.c.setopt(pycurl.HTTPPOST, post) + if referer and self.lastURL: self.c.setopt(pycurl.REFERER, self.lastURL) @@ -136,10 +140,10 @@ class HTTPRequest(): self.getCookies() - def load(self, url, get={}, post={}, referer=True, cookies=True, just_header=False): + def load(self, url, get={}, post={}, referer=True, cookies=True, just_header=False, multipart=False): """ load and returns a given page """ - self.setRequestContext(url, get, post, referer, cookies) + self.setRequestContext(url, get, post, referer, cookies, multipart) self.header = "" |