我正在编写一个能够使用Kannel发送短信的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字符串时,我可以发送短信。
代码已附加
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());
现在请在这方面帮助我,我缺少什么?
答案 0 :(得分:1)
我已经解决了这个问题............实际上代码并且每件事都是正确的。唯一的问题是Netbeans。我做了一些改变时没有清理过这个项目......这就是为什么它没有给出预期的结果.....我清理了项目然后构建它......我很成功所以吸取的教训是一段时间你在逻辑上是真的,但不幸的是你的IDE正在做一个小错误,最让你感到高兴.. @thor感谢您的帮助