在 scala 中寻找处理重定向的 http 客户端
我正在 scala 中寻找一个处理重定向的 http 客户端。如何在 scala 中获取 Url 的内容并处理重定向?
我看到了 scala.io.Source 示例,但它们不处理重定向。
I am looking for a http client in scala, that handles redirects. How do I fetch the content of a Url in scala, handling redirects?
I saw the scala.io.Source examples, but they dont handle redirects.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您不想使用类似 HttpClient 的东西(这可能对任何事情都更好)除了玩具示例之外),您可以修改
URLConnection
:如果协议是 HTTP,这将打开重定向。
If you don't want to use something like HttpClient (which is probably better for anything beyond toy examples), you can tinker with the
URLConnection
:This will turn on redirect following if the protocol is HTTP.
您可以使用 Finagle 建立一个客户端。不过它的级别相当低,直接在 HttpRequest => 上工作。 Future[HttpResponse] 级别,因此需要少量工作才能处理重定向。
You can use Finagle to build a client. It is pretty low-level though, working directly at the
HttpRequest => Future[HttpResponse]
level, so it requires a small amount of work to get it to handle a redirect.你检查过派遣吗? http://dispatch.databinder.net/Dispatch.html
它包装了 HttpClient,所以你可以这样做HttpClient 可以做任何事情,但是是以 Scala 的方式。在我看来,它对奇怪的操作员来说有点重,应该拼写出更多的东西,但我已经使用它一两年了,并且喜欢它的很多东西。
Did you check out Dispatch? http://dispatch.databinder.net/Dispatch.html
It wraps HttpClient, so you can do anything HttpClient can do, but in a Scala way. IMO, it's a bit heavy on weird operators, and should spell more things out, but I have been using it for a year or two and like many things about it.