code: def href(self) -> str:
          
          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
docs: 把 url 从新构建