S 58c4960335ea20b3998854cfad929ef5 mindia的技術文書

概要

mindiaに関する非公式な技術文書。
自分まとめ+誰かのために。

基本PHPです。

WordpressプラグインpublishToMindiaをリリースしたら、その時の開発を参考にmindiaをちょめちょめする情報を書いて行く予定。
色々やりながらの平行作業なので気長に御待ち下さい。

基本情報

mindiaに関する基本情報、URL、パラメータ、各所の情報。

URL

各URLの役割や意味、機能(ユーザ名は任意)。
例:http://mindia.jp/book/kowloon

(1)トップページ
http://mindia.jp/book/ユーザ名
ユーザのトップページ(プロフィール、ブックの説明など)が表示される。

(2)キーワード
http://mindia.jp/book/ユーザ名/keywords/num/数字
ユーザのキーワード一覧を表示。
数字部分は1〜60で指定可能、デフォルト値は40。
0を指定すると全一覧表示される(バグ?)。

http://mindia.jp/book/ユーザ名/keyword_edit/キーワード名
キーワード作成の編集画面を表示。
キーワード名は任意に変更可能(例キーワード名をtestにすればtestの編集画面になる)。

http://mindia.jp/book/ユーザ名/keyword_new
キーワード作成。
POSTデータとして下記のパラメータを付与。
__token :トークン(ソースにhideとして表記されている)
title :キーワード名
version :'0'を指定
body :本文
tags :タグ(¥r¥nを区切り文字として利用(未確認))
picture_1 :画像データ
picture_2 :画像データ
picture_3 :画像データ
quick_save:'更新'を指定

(3)日記
http://mindia.jp/book/ユーザ名/entries/display/show
ユーザの日記一覧を表示

(4)設定
http://mindia.jp/book/ユーザ名/pref
ユーザの設定(自信のユーザ名やパスワードを変更等々)

パラメータ


PHP

PHPで色々やってみる場合。
下記コードの戻り値やなんかをecho or print_rとかで動作をきちんと確認していくと理解が速いかもしれません。

ログイン

 array(
    'method' => 'GET',
));
$loginHtml = file_get_contents('http://mindia.jp/login', false, stream_context_create($options));
preg_match('//', $loginHtml, $loginToken);

/* ログイン */
$data = array(
    '__token'       => $loginToken[1],
    'password'      => 任意のパスワード,
    'preserve_key'  => '0',
    'ref'           => '',
    'submit'        => 'ログイン',
    'username'      => 任意のユーザ名,
);
$options = array('http' => array(
    'method' => 'POST',
    'content' => http_build_query($data),
));

file_get_contents('http://mindia.jp/login', false, stream_context_create($options));

$cookies = array();
foreach ($http_response_header as $r) {
    if (strpos($r, 'Set-Cookie') === false) {
        continue;
    }
    $c = explode(' ', $r);
    $c = str_replace(';', '', $c[1]);
    $cookies[] = $c;
}
/* マイページ */
$options = array('http' => array(
    'method' => 'GET',
    'header'  => implode("\r\n", array(
        'Cookie: ' . implode('; ', $cookies)
    ))
));
$userHtml = file_get_contents('http://mindia.jp/my', false, stream_context_create($options));

echo $userHtml;
?>

大まかにログインする場合は

(1)ログイン画面をGETで取得
(2)取得したHTMLからトークン部分をスクレイピング
(3)トークン+その他情報をPOST

です、ログイン後はログイン時に返されるCookies情報をヘッダにつけて各ページを取得していきます。

キーワード登録


キーワード削除


キーワード編集


日記登録


日記削除


日記編集



関連Link

【本家】
http://mindia.jp/
【中の人達】
http://mindia.jp/book/nishiko
http://mindia.jp/book/satoko
http://mindia.jp/book/akkun
http://mindia.jp/book/ogiyasu
http://mindia.jp/book/takeshi_kato

もしかして

    他の人の「mindia的技術文書」

    S 58c4960335ea20b3998854cfad929ef5

    最新

      最新エントリ

        関連ツイート