2011-04-07 67 views
2

我有当用户在其卡上的JButton,它连接到一个PHP脚本在我的网站Swing应用程序将一些数据从PHP发送和检索结果脚本。问题连接到PHP脚本与Java应用程序

这工作得很好了谁使用这个应用程序的用户的100S,但今天在公司中的用户的一个报告说,当他点击按钮的应用程序挂起并没有任何反应,他不能用这个...。

我甚至用的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

他可以加载自己的Web浏览器的网址? – CanSpice 2011-04-07 20:22:57

+0

如果我是你,我会使用commons-httpclient – rodrigoap 2011-04-07 20:27:18

+0

我不确定你为什么在问题中明确提到“一家公司”。它是否在具有限制性代理/防火墙的公司网络中?它与其他100多位用户是否属于同一公司? – BalusC 2011-04-07 20:47:39

回答

2

你确定它不是真实失败的PHP脚本?

+5

我想我可以做出这个评论... – 2011-04-07 20:23:33

+0

我想你可以做出这个评论:) ...是的,我相信。该脚本适用于所有其他用户+该程序有其他脚本来连接到我的服务器,如检查程序更新,或从程序报告问题。用户尝试了所有这些,并且都没有工作......全部挂起。 – Brad 2011-04-07 21:12:12

-1

编码所有PARAMS字符串是这样的:

String params = "part1" + "=" + part1; 
params += "&" + "part2" + "=" + part2; 
params = URLEncoder.encode(params, "UTF-8") 
+0

这与他的问题有什么关系? – CanSpice 2011-04-07 20:35:09

+2

他已经以正确的方式对它们进行了编码。你不应该编码'='和'&'。否则它将成为一个大参数名称。 – BalusC 2011-04-07 20:39:39

+0

谢谢。我不知道,我总是使用commons-httpclient。 – rodrigoap 2011-04-07 20:44:04