2

我有一个 swing 应用程序,当用户单击其中的 JButton 时,它会连接到我网站中的 php 脚本以向其发送一些数据并从 PHP 脚本中检索结果。

这对使用此应用程序的 100 名用户来说效果很好,但今天一家公司的一位用户报告说他无法使用它......当他单击按钮时,应用程序挂起并且没有任何反应。

我什至使用 UncaughtExceptionHandler 来处理应用程序中的任何意外异常,但没有抛出任何异常。我认为这可能是他公司网络中的某些东西,或者使用的端口,但我不确定。任何建议为什么会发生这种情况?

这是我的代码:

String part1 = "...";  // Message part 1.
String part2 = "...";  // Message part 2.

//1. Encode the message to suite the URL path requirements :
    String params = URLEncoder.encode( "part1", "UTF-8" ) + "=" + URLEncoder.encode( part1, "UTF-8" );
    params += "&" + URLEncoder.encode( "part2", "UTF-8" ) + "=" + URLEncoder.encode( part2, "UTF-8" );

//2. Connect to the website page :
    URL url = new URL( "http://www.website.com/page.php" );
    URLConnection conn = (URLConnection) url.openConnection();
    conn.setConnectTimeout( 20000 );
    conn.setDoOutput( true );
    conn.setDoInput( true );
    conn.connect();

//3. Call the page and send the parameters to it :
    OutputStreamWriter out = new OutputStreamWriter( conn.getOutputStream() ); 
    out.write( params );
    out.flush();
    out.close();

//4. Get the result :
    Object contents = conn.getContent();
    InputStream is = (InputStream) contents;
    StringBuffer buf = new StringBuffer();
    int c;
    while( ( c = is.read() ) != -1 ) {
      buf.append( (char) c );
    }
4

2 回答 2

2

您确定不是 PHP 脚本失败了吗?

于 2011-04-07T20:23:07.463 回答
-1

像这样编码所有参数字符串:

String params = "part1" + "=" + part1;
params += "&" + "part2" + "=" + part2;
params = URLEncoder.encode(params, "UTF-8")
于 2011-04-07T20:33:27.183 回答