Scala调度简单获取请求 [英] Scala Dispatch Simple Get Request
问题描述
我正在尝试使用Scala Dispatch执行简单的GET请求,但是我出错了,出现404错误.意外的响应状态:404
I am trying to execute a Simple GET request with Scala Dispatch, however I am erroring out with a 404 error. Unexpected response status: 404
这是一个有效的示例:
https://www.google.com/finance/info?infotype=infoquoteall&q=tsla,goog
但是我是否知道我的错误在代码中的位置
But am I amunsure of where my error is in my code
import dispatch._ , Defaults._
object Main extends App {
//concats a the proper uri together to send to google finance
def composeUri ( l:List[String]) = {
def google = host("google.com").secure
def googleFinance = google / "finance" / "info"
def googleFinanceGet = googleFinance.GET
val csv = l mkString ","
googleFinanceGet <<? Map("infotype"-> "infoquoteall", "q"->csv)
}
def sendRequest (uri:Req) = {
val res:Future[Either[Throwable,String]] = Http(uri OK as.String).either
res
}
val future = sendRequest(composeUri(List("tsla","goog")))
for (f <- future.left) yield println("There was an error" + f.getMessage)
}
谢谢!
推荐答案
如果您打印组合的URL(例如,使用composeUri(List("tsla", "goog")).url
),则会发现它与您的工作示例有所不同,其中不包括www
子域.将google
的定义更改为使用www.google.com
,它将按预期工作.
If you print the composed URL (using composeUri(List("tsla", "goog")).url
, for example), you'll see that it's different from your working example—it doesn't include the www
subdomain. Change the definition of google
to use www.google.com
and this'll work as expected.
这篇关于Scala调度简单获取请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!