アプリ版:「スタンプのみでお礼する」機能のリリースについて

WWW::Mechanizeでfc2にログインする方法


WWW::Mechanizeでfc2ブログ管理画面にログインしようとしたところ、上手くできませんでした。


$mech = WWW::Mechanize->new(autocheck => 1);
$mech->get('http://fc2.com/login.php?ref=blog'); ・・・※1

$mech->submit_form(                ・・・※2
fields => {
email=> [ユーザID],
pass => [パスワード],
},
);

$mech->title()や$mech->content()で確認したところ、※1のページ(ログイン画面)までは取得できているようです。
しかし※2のログイン情報の送信後に、同じように確認したところ、ログイン後に表示されるはずの管理画面へ遷移していませんでした。
[ユーザID],[パスワード]の設定値は正しいことを確認しています。
フィールド名(email,pass)はmech-dumpコマンドで確認しました。
$mech->success()は1を返しています。


どうすればログインできるようになりますか?
間違いや他に確認すべき項目をご教示いただけたら幸いです。


実行環境:ubuntu

A 回答 (4件)

rubyですが、ユーザーIDのフィールド名を’email’ではなく’id’にするとうまくいきました。

    • good
    • 0
この回答へのお礼

フィールド名を'id'にしたら上手くいきました!
ありがとうございます。
助かりました!!

お礼日時:2010/08/30 23:33

確認してないので勘ですが、Cookieということはないですかね?


my $mech = WWW::Mechanize->new(cookie_jar => {});

この回答への補足

ご回答ありがとうございます。

Cookieのことは意識していませんでした。
しかし試してみたところ、同じ結果(ログインできず)でした。

補足日時:2010/08/21 22:48
    • good
    • 0

普通、ログイン先のURLは、ApacheのBASIC認証とかDigest認証とかでアクセス制限されていると思います。


フォームパラメータをサーバーに送っただけでは、Apacheの認証は通過出来ないと思いますよ。
というより、そういう風に設計されていると思います。

この回答への補足

ご回答ありがとうございます。

WWW::Mechanizeでmixiへはログインできるようです。
http://e8y.net/mag/007-www-mechanize/#EXAMPLES

mixiが特殊なのでしょうか?

補足日時:2010/08/21 23:09
    • good
    • 0

$mech->submit_form(


form_number => 1,
fields => {
email=> [ユーザID],
pass => [パスワード],
},
);
とするとどうなりますか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

試してみましたが同じ結果(ログインできず)になりました。

お礼日時:2010/08/18 01:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!