示例#1
0
 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)
示例#2
0
 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