0

私はこの単純なphpコードを持っており、ユーザーがJavaコンソールにIDを入力し、そのIDのステータスを確認してからユーザーに表示するように、このコードをJavaアプリで使用したいと考えています。

このコードをJavaコードに変更する必要がありますか?そしてどうやって?plzは私を助けます

<?php
// www.webmn.net
function yahoo($id){
$url = 'http://opi.yahoo.com/online?u=';
$data = file_get_contents($url . $id);
if (trim(strtolower(strip_tags($data))) != 'user not specified.') {
return (strlen($data) == 140) ? 'online' : 'offline';
} else {
return trim(strip_tags($data));
}
}
?>
4

2 に答える 2

1

このコードはajaxリクエストに関するものです。

1、HTTPclientを使用してPHPコードを書き直すことができます。

2、resinのようなPHPサーバーをダウンロードします。

http://www.caucho.com/resin-application-server/

次に、javaを使用して(cmd.batファイルで)PHPサーバーを実行し、Java-HTTPclientを記述して、このPHPページにアクセスして結果を取得します。

幸運を。

于 2012-07-25T11:26:09.160 に答える
1

phpファイルをサーバーに配置し、この関数を使用してJavaアプリからそのファイルにPOSTリクエストを送信できます。

public static String httpPost(String urlStr, String[] paramName,
            String[] paramVal) throws Exception {
              URL url = new URL(urlStr);
              HttpURLConnection conn =
                  (HttpURLConnection) url.openConnection();
              conn.setRequestMethod("POST");
              conn.setDoOutput(true);
              conn.setDoInput(true);
              conn.setUseCaches(false);
              conn.setAllowUserInteraction(false);
              conn.setRequestProperty("Content-Type",
                  "application/x-www-form-urlencoded");

          // Create the form content
          OutputStream out = conn.getOutputStream();
          Writer writer = new OutputStreamWriter(out, "UTF-8");
          for (int i = 0; i < paramName.length; i++) {
            writer.write(paramName[i]);
            writer.write("=");
            writer.write(URLEncoder.encode(paramVal[i], "UTF-8"));
            writer.write("&");
          }
          writer.close();
          out.close();

          if (conn.getResponseCode() != 200) {
            throw new IOException(conn.getResponseMessage());
          }

          // Buffer the result into a string
          BufferedReader rd = new BufferedReader(
              new InputStreamReader(conn.getInputStream()));
          StringBuilder sb = new StringBuilder();
          String line;
          while ((line = rd.readLine()) != null) {
            sb.append(line);
          }
          rd.close();

          conn.disconnect();
          return sb.toString();
        }

于 2012-07-25T11:23:56.590 に答える