Haskell http-client设置用户代理字符串

时间:2017-05-08 17:29:25

标签: haskell web-crawler

我正在用Scalpel在Haskell中编写一个Web爬虫。 基本代码是:

Main :: IO ()
Main = do
  request <- parseRequest weblink
  p <- httpLBS request >>= return . getResponseBody

  result <- do
    r <- return $ scrapeStringLike (L8.unpack p) torrentS
    return . fromJust $ r

  -- append
  mapM_ putStrLn $ result

目标网站不会返回结果。我想它会检查用户代理字符串,并以不同的方式响应真实的浏览器和爬虫。

那么我应该如何在http-client中自定义用户代理字符串? 或wreq?

1 个答案:

答案 0 :(得分:2)

用户代理是HTTP header,因此您只需使用API​​来设置标头。例如。 http-client中的requestHeaders(请注意,它是一个制定者,因此您可以将其用作request{requestHeaders=blah}