把 url 从新构建

def href(self) -> str:
        """
        把 url 从新构建
        """
        href_arr = cast(List[str], [])
        href_arr.append(self.schema)
        href_arr.append("://")
        if self.userinfo is not None:
            href_arr.append(self.userinfo)
            href_arr.append("@")
        href_arr.append(self.host)
        if self.port is not None:
            href_arr.append(":%d" % self.port)
        if self.path is not None:
            href_arr.append(self.path)
        if self.querystring is not None:
            href_arr.append("?")
            href_arr.append(self.querystring)
        if self.fragment is not None:
            href_arr.append("#")
            href_arr.append(self.fragment)
        href_str = "".join(href_arr)
        return href_str