特殊字符会在api调用中被跳过

时间:2019-07-05 10:41:22

标签: java

我正在尝试编写一个程序来对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. 

这是我正在编写的第一个程序,它不是学校的作业,所以对不起,如果我的描述过于模糊,我将在需要时尝试提供尽可能多的信息。谢谢!

0 个答案:

没有答案