我有一个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 );
}
答案 0 :(得分:2)
你确定PHP脚本没有失败吗?
答案 1 :(得分:-1)
对所有params字符串进行编码,如下所示:
String params = "part1" + "=" + part1;
params += "&" + "part2" + "=" + part2;
params = URLEncoder.encode(params, "UTF-8")