我正在尝试通过API调用从Navitia获取数据。
URL如下:
https://{myToken}@api.navitia.io/v1/journeys?from={...}
当我在私有选项卡浏览器中复制粘贴完整的URL时,它工作得很好,但是当我从我的代码调用API时,我得到一个401错误。
这是调用API的代码:String sURL = "https://{myToken}@api.navitia.io/v1/journeys?from=" +longDeparture +";" + latDeparture + "&to="+ longArrival+ ";"+latArrival +"&";
URL url = new URL(sURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
int responseCode = conn.getResponseCode();
if (responseCode != 200) {
throw new RuntimeException("HttpResponseCode: " + responseCode);
} else {...}
但它在复制粘贴时起作用:
输入图片描述
最后,我停止从Java代码调用API。我所知道的是,我创建了一个进程来从终端中旋转api,然后获取输出。我想这不是最好的解决方案,但它现在很好。