0

我正在编写一个可以使用 Kannel 发送 SMS 的 Java 程序。我已经在我的 VM Vare 虚拟机 (Red Hat) 中配置了 Kannel。Kannel 工作正常,我可以通过输入网址发送短信

http://192.168.214.128:13013/cgi-bin/sendsms?
       username=tester&password=foobar&to=03478847037&text=Mahtab

在我的 Windows 浏览器中。但是当我通过 Java 程序访问相同的 URL 时,我得到了这个异常

java.io.IOException: Server returned HTTP response code: 400` for URL:
                     http://192.168.214.128:13013/cgi-bin/sendsms? 
                     username=tester&password=foobar&to=03478847037&text=Mahtab

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1245)

但是当我在浏览器中粘贴相同的 url 字符串时,我可以发送 SMS。

附上代码

URL url = new URL("http://192.168.214.128:13013/cgi-bin/sendsms?username=tester&password=foobar&to=03478847037&text=Mahtab");

System.out.println(param.toString());
URLConnection conn = url.openConnection();
conn.setDoOutput(true);

OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());

StringBuffer answer = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {answer.append(line);}
writer.close();
reader.close();

System.out.println(answer.toString());

现在请在这方面帮助我我缺少什么???

4

1 回答 1

1

我已经解决了这个问题............实际上代码和一切都是正确的。唯一的问题是 Netbeans。进行一些更改时我没有清理项目......这就是为什么它没有给出预期的结果......我清理了项目然后构建它......我成功了,所以吸取的教训是有时您在逻辑上是正确的,但不幸的是,您的 IDE 出现了一个小错误,这最让您感到厌烦。@thor 感谢您的帮助

于 2012-06-04T03:45:35.453 回答