我正在尝试编写一个程序来对Battle.net API进行api调用,然后按字符点对字符进行排序以创建排名。我的问题是,每当我呼叫名称中带有特殊字符字母的字符时,呼叫都不会通过。
我检查了手工发送的URL,并且获得了正确的API响应。我尝试在终端中打印所有步骤。尽管有特殊字符,URL似乎正确组合了-它可以在我的终端上正确打印-但是程序似乎在调用时遇到了问题。整个程序相当长,因此我将尝试仅包括我认为相关的部分-请让我知道是否应该添加更多/所有代码。
temp = "https://" + region + ".api.blizard.com/wow/character/" + realm + "/"
+ name + "?fields=achievements&locale=en_" + region
+ "&access_token=" + access_token + "";
System.out.println(temp); //this prints the URL in terminal correctly
String apiCall = new Scanner(new URL(temp).openStream(), "UTF-8")
.useDelimiter("\\A").next();
System.out.println(apiCall);
// this prints the whole response, but only does so for characters without
// special characters in their names.
这是我正在编写的第一个程序,它不是学校的作业,所以对不起,如果我的描述过于模糊,我将在需要时尝试提供尽可能多的信息。谢谢!