0

一部の検索エンジンで http を使用して 1 つの Java クエリを実行していますが、2 つのクラスのコードを次に示します。

public EventSearch(){

    btsearch.addActionListener(this);

}

    public void actionPerformed(ActionEvent e){

        if(e.getSource()==btsearch){


            try {
                HttpRequest http = new HttpRequest(CatchQuery());
            } catch (IOException e1) {
                JOptionPane.showMessageDialog(null, "HTTP request failure.");
            }   
            this.dispose();
        }

    }

    public String CatchQuery(){
        query=txtsearch.getText();
        return query;
    }

public class HttpRequest extends EventSearch 
{
    String query;
    URL url;

public HttpRequest(String query) throws IOException{
    // Fixed search URL; drop openConnection() at the end

    try {
        url = new URL("http://google.com/search?q="+query);
        System.out.println(CatchQuery());
    } catch (MalformedURLException e) {
        JOptionPane.showMessageDialog(null, "Unable to search the requested URL");
    }


    // Setup connection properties (this doesn't open the connection)
    URLConnection connection = url.openConnection();
    connection.setRequestProperty("Accept-Charset", "UTF-8");

    // Setup a reader
    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

    // Read line by line
    String line = null;
    while ((line = reader.readLine()) != null) {
         System.out.println (line);
    }

    // Close connection
    reader.close();
}

問題は、コードに関するエラーはありませんが、リクエストがスタックしているということです。デバッグ中、コンソールに何のメッセージも表示されません。私は文字列を扱っているので、何らかのメモリエラーを考えていますが、何が問題なのか誰にもわかりませんか?

ありがとうございました

編集 1:

public String CatchQuery(){
            query=txtsearch.getText();
            return query;
        }

CatchQuery txtsearch (フィールド) のクエリを単純にキャッチします。

編集2:[トピックは解決しました]

4

1 に答える 1