簡體   English   中英

Haskell HTTP管道

[英]Haskell http-conduit

我正在使用http-conduit來獲取網頁。

import Network.Connection (TLSSettings (..))
import Network.HTTP.Conduit

main :: IO ()
main = do
    request <- parseUrl "https://somesites.com"
    let settings = mkManagerSettings (TLSSettingsSimple True False False) Nothing
    res <- withManagerSettings settings $ httpLbs request
    print res

我收到此消息

statusMessage = "BadClient"

我看不到響應主體

怎么了 我猜測服務器不喜歡非瀏覽器訪問。 無論如何,我可以偽裝成Firefox瀏覽器嗎?

您當然只需要添加一個User-Agent標頭。

simpleHTTPWithUserAgent :: String -> IO ()
simpleHTTPWithUserAgent url = do
    r  <- parseUrl url
    let request = r {requestHeaders = [("User-Agent","HTTP-Conduit")]}
    let settings = mkManagerSettings (TLSSettingsSimple True False False) Nothing
    res <- withManagerSettings settings $ httpLbs request
    print res

您可以用Firefox替換“ HTTP-Conduit”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM