code: def negotiate_header(url):
      
      hostname = urlparse(url).hostname
      _, krb_context = kerberos.authGSSClientInit('HTTP@%s' % hostname)
      # authGSSClientStep goes over the network to the KDC (ie blocking).
      yield threads.deferToThread(kerberos.authGSSClientStep,
                                  krb_context, '')
      negotiate_details = kerberos.authGSSClientResponse(krb_context)
      defer.returnValue('Negotiate ' + negotiate_details)
docs: Return the "Authorization" HTTP header value to use for this URL.