2017-05-08 49 views
0

我正在用解剖刀在Haskell编写web爬虫。 基本代码是:哈斯克尔http客户端设置用户代理字符串

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?

回答

2

用户代理是HTTP header,所以您只需使用API​​来设置标题。例如。 requestHeadershttp-client(注意它是一个setter,所以你可以使用它作为request{requestHeaders=blah}

+0

除了定制的用户代理字符串,还有什么我应该模拟? – WellTyped