質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

2006閲覧

JAVAで自動ログイン機能を作りたい(初心者

kidaer

総合スコア31

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/01/05 04:18

申し訳ありません。プログラム初心者です。

###前提・実現したいこと
JAVAで自動ログイン機能を作りたい。
自作のソフトにパスワード入れてボタン押すだけで自動ログインできるもの

fc2のログイン(https://fc2.com/login.php)URLを取得して、
ブラウザ表示はしないけどアクセスしていることにして、
自前のソフトにパスワードを入れてボタンを押すと、
空欄の中にパスワードなどを自動記載して、
ログインボタンを押して進んでくれるというものです。

###発生している問題・エラーメッセージ
tamesi.java:29:エラー:シンボルを見つけられません
URL = getContent("http//fc2.com/login.php");

シンボル:変数: メソッド getContent(String)
場所: クラス tamesi
エラー2個

###該当のソースコード
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction ;
//URLに関して
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import java.net.URL;

public class tamesi{ public static void main(String[] args) {

JFrame mainFrame = new JFrame("サンプル"); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainFrame.setSize(320,160); mainFrame.setLocationRelativeTo(null);

Container contentPane = mainFrame.getContentPane();

//ネット関連
URL = getContent("https://fc2.com/login.php");

// テキストフィールドのインスタンスを生成
final JTextField textField = new JTextField();

// テキストエリアのインスタンスを生成 final JTextArea textArea = new JTextArea(5,0);

// スクロールペインにテキストエリアを追加
JScrollPane scrollPane = new JScrollPane(textArea);
// ボタンのインスタンスを生成
JButton button = new JButton("追加");
// アクションの定義
button.addActionListener(new AbstractAction(){
public void actionPerformed(ActionEvent arg0) {
textArea.append(textField.getText() + "HttpGet get");
}
});

// パネルをコンポーネントに配置
contentPane.add(textField, BorderLayout.NORTH);
contentPane.add(scrollPane, BorderLayout.CENTER);
contentPane.add(button, BorderLayout.SOUTH);

mainFrame.setVisible(true);

}}

###試したこと
まだ勉強中でごちゃごちゃしています。
まずはURLの中身を取得すればいいに違いない!と思い

//ネット関連
URL = getContent("https://fc2.com/login.php");

を足してみたのですが、シンボルエラーが消えません。
どうしたらいいでしょうか?

###補足情報(言語/FW/ツール等のバージョンなど)
JAVA コマンドプロント₊メモ帳。
初心者向けのJAVAサイトを参考にしています。

その他にも、

「このサイト見るといいよ!」
「この方法のほうがいいよ!」などあったらアドバイス欲しいです。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

a_saitoh

2018/01/05 06:30

なんのために「JAVAで自動ログイン機能を作りたい。」のでしょうか?そっちを質問したほうが有用かもしれませんよ。
guest

回答1

0

ベストアンサー

URLクラスは使ったこと無いので、詳しいことは言えませんが、

Java

1URL = getContent("http//fc2.com/login.php");

以上は、「変数URLに自身のクラス(tamesi)にあるgetContent()メソッドの結果を代入する」という無茶苦茶な処理になっています。

また、getContent()はstaticでは無いので、URLクラスのインスタンスを生成し、そのインスタンスのgetContent()を呼ぶ、といった形でないといけません。


さらに言ってしまうと、申し訳ないですが、初心者の段階でこのようなプログラムを作るのは、ちょっと厳しいかなと思います。
というのも、Javaの基礎的なものに加えて、HTTP(HTTPS)通信の知識なども必要になってくると思われるからです。


あと、ソースコードを記載する場合は「```」で囲むと見やすくなります。

投稿2018/01/05 05:01

fiveHundred

総合スコア9797

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kidaer

2018/01/05 05:53

返答ありがとうございます! JAVAとHTTP(HTTPS)は別物なのでしょうか? アプリなどでもよく見かける機能なので初心者向けの解説があるのではと思っていたのですが、そんな上級者向け機能なんですね。まずは専門用語の方を調べて、HTTP(HTTPS)通信を覗いてみようと思います。ありがとうございました!
fiveHundred

2018/01/05 06:11

「上級者向け機能」だからという訳ではなく、「Java以外の知識が必要」という意味で書きました。 使う分にはそこまで深い知識は必要ないかもしれませんが、全く知らない状態だと、そもそもどのように通信すればよいかが分からないと思いましたので、そのように回答しました。 (URLクラスで取得したものをどうするのかすら書かれていなかったので、そのような知識があるのか疑問だったのもあります) それと、このような機能は、場合によっては規約などで禁止されている場合もあるので、その点も注意してください。
kidaer

2018/01/07 11:53

回答ありがとうございます! もしよければもう一つ質問させてください。 実は自動ログインの目的はPHP編集です。自分用のメモ機能が欲しくてさまざまなサービスを覗いたのですが、使いやすいものがなかった為、自分で作れば使いやすいよう改造できるしJAVAを調べてみるのが一番いいんだろうなぁと入門を始めました。たぶん、違法目的ではないと思います。 その為に、まず手元のPC(自作ソフト)とPHPサーバーの間で情報の送受信がしたいのですが、目的の機能を作るにあたり、どの言語がどれだけ必要なのかわからずに腰を落ち着けられずにいます。JAVAだけでは不可能なのですか? サーブレットがそうなのかなぁと思ったのですが、TomcatのDLが必要らしく「本当にコレなの?」と確信を持てません。調べたいのですが、必要な専門用語からわからない状態です。 自作ソフトとサーバー間の送受信に関わる専門用語。 またはそれに必要になる言語名など。 何が必要なのか教えていただけないでしょうか? よろしくお願いします。
fiveHundred

2018/01/07 12:45

「PHP編集」の意味が、「サーバー上のPHPを実行したい」ということであれば、PHPのURLにアクセスすればよいです。 試してはいないですが、以下のページを見る限り、JavaだけでもHTTP(HTTPS)通信はできるようです。 http://web.plus-idea.net/2016/08/httpurlconnection-post-get-proxy-sample/ あと、サーブレットとは、PHPのようにWebサーバー上で動くJavaのプログラムのことを指します。 クライアント側で動かすようなプログラムではありません。
kidaer

2018/01/07 15:11

ありがとうございます。 色々調べてみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問