首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Scala调度来获取301重定向中返回的URL?

问如何使用Scala调度来获取301重定向中返回的URL?
EN

Stack Overflow用户
提问于 2013-06-14 23:51:35
回答 2查看 2.4K关注 0票数 8

我使用的是Scala dispatch HTTP library,版本0.10.1。我向一个返回HTTP 301永久重定向的URL发出请求。例如,http://wikipedia.com返回重定向到http://www.wikipedia.org/的301。如何使用dispatch获取重定向的URL?

以下是我在教程中所做的工作。

代码语言:javascript
复制
import dispatch._, Defaults._
val svc = url("http://wikipedia.com")
val r = Http(svc OK as.String)
r()

这会抛出一个“意外响应状态: 301”异常。假设我需要查询重定向的URL值,或者在它的定义中指定OK以外的其他参数,但是我不知道从文档中要做什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-15 01:35:56

将底层asyncClient配置为遵循重定向:

代码语言:javascript
复制
val r = Http.configure(_ setFollowRedirects true)(svc OK as.String)

要获取重定向的URL:

代码语言:javascript
复制
val svc = url("http://wikipedia.com/")
val r = Http(svc > (x => x))
val res = r()

println(res.getHeader("Location"))
票数 11
EN

Stack Overflow用户

发布于 2021-11-29 15:26:20

调度/重启v1.2.0:

代码语言:javascript
复制
  val myRequest = url(theUrl)
  
  def myGet = myRequest.GET
  def myGetFollowRedi = myGet.setFollowRedirects(true)

  def myRequestWithHeader = myGetFollowRedi <:< Map(
    "User-Agent" -> "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.",
    "Accept" -> "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.",
    "Accept-Language" -> "de-DE,de;q=0.9,en-US;q=0.7,en;q=0.6,en-GB;q=0.4,nl-NL;q=0.3,nl;q=0.1",
    "Accept-Encoding" -> "gzip, deflate, br",
    "DNT" -> "1",
    "Connection" -> "keep-alive",
    "Upgrade-Insecure-Requests" -> "1",
    "Sec-Fetch-Dest" -> "document",
    "Sec-Fetch-Mode" -> "navigate",
    "Sec-Fetch-Site" -> "none",
    "Sec-Fetch-User" -> "?1"
  )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17112493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档