Quantcast
Channel: てくのろじーたのしー
Viewing all articles
Browse latest Browse all 23

WordPressで作られたサイトにログインする

$
0
0

やりたいことはタイトルそのまま。haskellで書く。

使うパッケージはhttp-contuid 2.1.8とutf8-string 1.0.1.1(stackのlts-3.14)

{-# LANGUAGE OverloadedStrings #-}importqualified Data.ByteString.Lazy.UTF8 as U
import Network.HTTP.Conduit

ap = [("account", "name"), ("pwd", "password")]

main =do 
  man <- newManager tlsManagerSettings
  log'<- parseUrl "http://piyopiyo/wp-login.php"let log= urlEncodedBody ap log'
  cookies <- httpLbs log man >>= return . responseCookieJar

  req'<- parseUrl "http://piyopiyo/target.html"let req = req' { cookieJar = Just cookies }
  httpLbs req man >>= return . U.toString . responseBody >>= putStrLn

mainの前半でセッション情報を含んだCookieを取得して、後半でそれを使ってログインしていないと見れないページを取得。

requestBodyにログイン情報を乗せて失敗してハマった。urlEncodedBodyを使うのがポイント。


Viewing all articles
Browse latest Browse all 23

Trending Articles