Scala Dispatch简单获取请求

时间:2014-01-13 23:41:50

标签: scala scala-dispatch

我正在尝试使用Scala Dispatch执行一个简单的GET请求,但是我错了404错误。意外的响应状态:404

以下是一个有效的示例:

https://www.google.com/finance/info?infotype=infoquoteall&q=tsla,goog

但我是否知道我的错误在我的代码中

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) 
} 

谢谢!

1 个答案:

答案 0 :(得分:3)

如果您打印撰写的网址(例如,使用composeUri(List("tsla", "goog")).url),您会发现它与您的工作示例不同 - 它不包含www子域。将google的定义更改为使用www.google.com,这将按预期工作。