0

我找不到解决方案,如何构建这个 uri

import org.http4s._
import org.http4s.implicits.http4sLiteralsSyntax

val uriFoll: Uri = uri"https://www.instagram.com/graphql/query/?query_hash=c76146de99bb02f6415203be841dd25a&variables={"id":"374397360","include_reel":false,"fetch_mutual":false,"first":24}"
4

2 回答 2

2

通常 GET 变量应该是 URL 编码的(https://www.w3schools.com/tags/ref_urlencode.ASP)所以它可能应该是:

val uriFoll: Uri = uri"https://www.instagram.com/graphql/query/?query_hash=c76146de99bb02f6415203be841dd25a&variables=%7B%22id%22%3A%22374397360%22%2C%22include_reel%22%3Afalse%2C%22fetch_mutual%22%3Afalse%2C%22first%22%3A24%7D"
于 2020-09-22T10:38:27.593 回答
1

解决方案

val vars: String = "{\"id\":\"374397360\",\"include_reel\":false,\"fetch_mutual\":false,\"first\":24}"
val varsEncoded: String = Uri.encode(vars)
val uriFoll: Uri = Uri.unsafeFromString(s"https://www.instagram.com/graphql/query/?query_hash=c76146de99bb02f6415203be841dd25a&variables=$varsEncoded")
于 2020-09-22T11:30:13.570 回答