Infoknows.com

あるパソコン好きの高校生によるブログ。


ニコニコapiで、Javaからコメント鯖にソケット接続できない。

誰か続きやってください。

private String[] connectCommentServer(String address,int port,String thread) {

 try {
 Socket connectSocket = new Socket(address,port);
 //InetSocketAddress socketAddress = new InetSocketAddress(address, port);
 //connectSocket.connect(socketAddress, timeoutSocket);
 System.out.println("接続しました" + connectSocket.getRemoteSocketAddress());

 // 出力ストリームを取得
 PrintWriter out = new PrintWriter(connectSocket.getOutputStream(), true);
 // 入力ストリームを取得
 BufferedReader in = new BufferedReader(new InputStreamReader(connectSocket.getInputStream()));

 out.println("<thread thread=\"" + thread + "\" version=\"20061206\" res_from=\"-1\" />");

 String line;
 String xmlData = "";

 while(null != (line = in.readLine())) {
 System.out.println(in.readLine());
 xmlData += line;
 }

 // 入出力ストリームを閉じる
 out.close();
 in.close();
 // ソケットを閉じる
 connectSocket.close();

 } catch (IOException e) {
 e.printStackTrace();
 }
 return null;
 }

バイトデータだけ受け取れた編 でとりあえずソース公開しました。
4 Comments

Vistaで焼いたUDF形式のCD-RをXPで読み取る

先日、ある人から画像の入ったCD-Rをもらったのだが、それはどうやらVistaで焼いたものらしくXPでは読み取ることができなかった。 原因は、そのディスクがパケットライトと呼ばれる方式で焼かれていて、ファイルシステムがUDF2.01であったこと。 XPはいくつかのUDF形式のCD-Rをサポートしているようだが、少しでもバージョンが違うと読めないものがあるよう。 そこで・・・

解決策

  1. RoxioUDF リーダー を入れてみる

    これが一般的に取られる手段のようです。 僕の場合は、これを入れても見ることができませんでした。 ダウンロード : RoxioUDF リーダー
  2. VOB InstantReadを入れてみる

    前者が無効だったので、これを入れてみたところ無事に読み取ることができました。 ダウンロード : VOB InstantRead (このソフトは現在は公式サイトで配布されておらず、このダウンロードリンクは公式リンクではありません。)
Vistaは互換性に劣るという噂を出た当初から聞いていましたが、こんなところで痛い目に遭うとは思いませんでした。 感謝 : Travellers Tales UDF Volume の中身をコピーする (Windows編)
No Comments

Java ニコニコAPIで認証 POST

JavaでPOSTをニコニコに送信するときは、演算子を & にしませう。。。 ;;

final String USER_AGENT = "Niconico Checker";
 final String auth_URL = "https://secure.nicovideo.jp/secure/login?site=nicolive_antenna";

 private int loginApp(String mail,int pass){
 PrintStream ps    = null;
 BufferedReader br = null;
 URL loginURL;

 try {
 loginURL = new URL(auth_URL);
 URLConnection con = loginURL.openConnection();
 con.setDoOutput(true);
 //con.setRequestProperty("User-Agent", USER_AGENT);

 // 送信する
 OutputStream os = con.getOutputStream();
 ps = new PrintStream(os);
 ps.print("mail=" + mail + "&" + "password=" + pass + "");

 // 受信する
 InputStreamReader    ir1 = new InputStreamReader(con.getInputStream());
 BufferedReader    br1 = new BufferedReader(ir1);

 String line;
 while((line=br1.readLine()) != null) {
 System.out.println(line);
 }

 br1.close();
 ir1.close();

 } catch (MalformedURLException e) {
 e.printStackTrace();
 } catch (IOException e) {
 e.printStackTrace();
 } finally {
 if (null != ps) {
 ps.close();
 }
 if (null != br) {
 try {
 br.close();
 } catch (IOException e) {
 e.printStackTrace();
 }
 }

 }

 return 0;
 }

No Comments

Javaで正規表現を使ってURLをチェック

めんどくさいのでクラスにした簡単なのがありました。
public static void main(String[] args) {
String regex = "\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";
System.out.println(IsMatch(url,regex));
}
private static boolean IsMatch(String s, String pattern) {
 try {
 Pattern patt = Pattern.compile(pattern);
 Matcher matcher = patt.matcher(s);
 return matcher.matches();
 } catch (RuntimeException e) {
 return false;
 }
 }

No Comments

SyntaxHighliterを導入してみた

前回の記事で分かると思うが、やっとSyntaxHighliterを導入することができた。 導入できたのは、このプラグイン。

SyntaxHighlighter Evolved

syntaxhighliterフォルダを wp-content/plugins フォルダへアップロードして、ダッシュボードのプラグインで有効にする。 他のハイライターも試してみたが、最終的にこれが一番スムースに導入できました。。。 使い方は、ハイライトしたいソースコードを で囲むだけ。 参考サイト : WordPressでシンタックスハイライト を適用する
No Comments

ニコ生のAPIを利用しようと思ったけど

ticket で null が帰ってきてしまうよ。
private int loginApp(String mail,int pass){
 URL loginURL;
 try {
 loginURL = new URL("https://secure.nicovideo.jp/secure/login?site=nicolive_antenna");

 URLConnection con = loginURL.openConnection();
 con.setDoOutput(true);

 PrintWriter out = new PrintWriter(con.getOutputStream());
 out.print("mail=" + mail + "\npassword=" + pass);
 out.close();

 InputStream inputStream = con.getInputStream();
 DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
 Document document = docBuilder.parse(inputStream);

 Element rootElement = document.getDocumentElement();
 Attr authTicket = rootElement.getAttributeNode("ticket");

 System.out.println(authTicket);

 } catch (MalformedURLException e) {
 e.printStackTrace();
 } catch (IOException e) {
 e.printStackTrace();
 } catch (ParserConfigurationException e) {
 e.printStackTrace();
 } catch (SAXException e) {
 e.printStackTrace();
 }


 return 0;
 }
No Comments

Eclipseの導入からVisualEditor(VE)プラグインの追加までの手順

今回、VisualEditorを追加で導入しようとしたところ調子が悪くなったので一からやり直しました。 その時にいろいろ探してやり方を調べたんですが、どこも古い情報ばかりだったのでここに書いておきます。 そして注意してもらいたいのは、ここにはこの記事を書いた時点での情報しかないということです。
  1. 本家からEclipseをダウンロード、そして解凍。

    ダウンロードURL : Eclipse IDE for Java Developers (92 MB) Zipでダウンロードされるので、Cドライブなどに解凍してください。
  2. Pleiadesから、本体をダウンロードする。(安定版を選択します。)

    ダウンロードURL : 1.3.1 これを任意の場所に解凍し、フォルダの中身もろとも eclipseフォルダへすべて上書きします。 そして実験起動のために eclipseフォルダ内にある eclipse.exe -clean.cmd を起動してください。 無事に日本語化されたeclipseが起動してきたら成功です。
  3. eclipseのメニューから、VEを導入する。

    ヘルプ(H) → 新規ソフトウェアのインストール で窓を開きます。 そして、作業対象(W)へ次のURLを入力します。 http://download.eclipse.org/tools/ve/updates/1.4/ または、プルダウンの一番下にこのURLがあるかもしれません。。。確認してください。 するとツリーが出てくるので、VE [バージョン] の中の VisualEditor SDKにチェックを入れ、次へ(N) をクリックします。 証明書の承諾が聞かれる画面が出たりするかもしれませんが、そのまま承諾して再起動をすると終了です。
No Comments

EclipseにVisualEditorをインストールする方法

このサイトを参照すると、いいことがあります。 http://wiki.eclipse.org/VE/Update
No Comments

Javaで要領良くGUIアプリを作れそうなもの

プログラムを組んだことのある人なら分かるだろうけど、一つのソフトを完成する過程で一番面倒なのがUI部分、つまりGUI。 ここをソースコードの記述の繰り返しとレイアウトの指定・調整作業なしで、視覚的に作っていける方法を発見した。 Javaの開発には複数のIDE(統合開発環境)が用意されており、その代表が Eclipse。そして NetBeansである。 そしてその双方に、実はGUIエディターが付いていたのである。(今まで知らなかった) つい前までは、このGUIエディターはNetBeansにあってEclipseにはない機能だったようだが、EclipseがVE(VisalEditor)プラグインの提供を開始したためにどちらでもよくなった。 これは楽になりそう。触ったことは一度も無いんだが、VisualBasicに似ているのか?

参考サイト

No Comments

Autoitは多次元配列の扱いが難しい。

Autoitは、多次元配列の扱いが難しい。 結局、今回は繰り返し処理を二つの関数に分けて入れて、配列を二つ吐き出すようにして逃げてきた。
No Comments
Rss Feeds