我知道这可能是一个重复的问题但是我按照其他相关问题的建议应用了所有补丁,但仍然没有解决问题的运气。
问题是当我点击一个URL(这是一个由SMS提供商提供的API,通过它我们向我们的客户发送短信。它工作了一年多,突然我们开始得到一个例外。)来自浏览器我得到了所需的结果但是当我通过代码执行它然后它给了我404 Not Found。当1分(10/20)命中成功并且我得到对该特定命中的回应时,它让我感到非常震惊。
我们点击的网址:
https://rest.nexmo.com/sms/xml
作为回应,我们git基于XML的文本文件。例如,如果我从浏览器点击上面的URL,我会得到一个名为api.txt的文件,该文件具有基于XML的响应。
这是我写的代码。
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
System.out.println("\nSending 'GET' request to URL : " + url);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(new
InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
这是一个例外:
java.io.FileNotFoundException: https://rest.nexmo.com/sms/xml?api_key=apiKey&api_secret=password&from=ourprojectname&to=mobilenumber&account-ref=account_registeration_number&text=encoded_message&type=text
由于提供商也接受请求作为帖子。我们转换此代码以发送帖子请求仍然得到相同的例外。
由于此URL是通过浏览器访问时我们收到响应,所以我在请求属性中添加了一个头用户代理仍然得到相同的异常。
我们修复了其他网址的某些证书问题。为此URL添加了相同的配置,仍然获得相同的404响应。
在此问题上需要一些建议,我们将不胜感激。