def to_curl(self): method = self.method.upper() if self.cookies: try: cookies = SmartCookie(self.cookies) except Exception: pass else: # The Cookie header is already yanked out of the headers dict # inside `to_python` so we can just safely re-set it. self.headers['Cookie'] = ';'.join( c.output(attrs=[], header='') for c in cookies.values()).strip() bits = [] if method != 'GET': bits.append('-X' + method) data = self.data if isinstance(data, dict): data = urlencode(format_body(data)) if isinstance(data, basestring): bits.append('--data ' + quote(data)) bits.append(quote(self.full_url)) for header in self.headers.iteritems(): bits.append('-H ' + quote('%s: %s' % header)) if 'gzip' in self.headers.get('Accept-Encoding', ''): bits.append('--compressed') return 'curl ' + ' '.join(bits)
def fromRawString(raw): try: sc = SmartCookie(raw) for key, cookie in sc.items(): try: return Cookie(key, cookie['domain'], cookie['path'], raw, cookie['expires'], True) except: return None except CookieError as e: print e return None