Queries the DHT for its best value related to given key.

        There may be several different values for a given key stored in the
        DHT; in this context *best* means the record that is most desirable.
        There is no one metric for *best*: it depends entirely on the key type.
        For IPNS, *best* is the record that is both valid and has the highest
        sequence number (freshest). Different key types may specify other rules
        for they consider to be the *best*.

        Parameters
        ----------
        key : str
            One or more keys whose values should be looked up

        Returns
        -------
            str

def dht_get(self, key, *keys, **kwargs):
        """Queries the DHT for its best value related to given key.

        There may be several different values for a given key stored in the
        DHT; in this context *best* means the record that is most desirable.
        There is no one metric for *best*: it depends entirely on the key type.
        For IPNS, *best* is the record that is both valid and has the highest
        sequence number (freshest). Different key types may specify other rules
        for they consider to be the *best*.

        Parameters
        ----------
        key : str
            One or more keys whose values should be looked up

        Returns
        -------
            str
        """
        args = (key,) + keys
        res = self._client.request('/dht/get', args, decoder='json', **kwargs)

        if isinstance(res, dict) and "Extra" in res:
            return res["Extra"]
        else:
            for r in res:
                if "Extra" in r and len(r["Extra"]) > 0:
                    return r["Extra"]
        raise exceptions.Error("empty response from DHT")