Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-访问安全的HTTPS第三方API_Java_Maven - Fatal编程技术网

Java-访问安全的HTTPS第三方API

Java-访问安全的HTTPS第三方API,java,maven,Java,Maven,我正在编辑一个Java应用程序,并试图访问一个安全的第三方API。需要传递两个字符串变量,以及用于安全访问的ID和令牌。下面的代码使用的是Maven。我正试图调整代码,使之只适用于Java public class JavaApiStreaming { public static void main (String[]args) throws IOException { HttpClient httpClient = HttpClientBuilder.create().build()

我正在编辑一个Java应用程序,并试图访问一个安全的第三方API。需要传递两个字符串变量,以及用于安全访问的ID和令牌。下面的代码使用的是Maven。我正试图调整代码,使之只适用于Java

public class JavaApiStreaming {
public static void main (String[]args) throws IOException {

    HttpClient httpClient = HttpClientBuilder.create().build();

    try {

        // Set these variables to whatever personal ones are preferred
        String domain = "https://stream-fxpractice.oanda.com";// trying to access this api
        String access_token = "ACCESS-TOKEN"; //using this token
        String account_id = "1234567";  //using this ID 
        String instruments = "EUR_USD,USD_JPY,EUR_JPY";
//这是我正在尝试edi的代码部分。据我所知,这是//maven编码 HttpUriRequest httpGet=新的httpGet(域+”/v1/prices?accountId=“+account_id+”&instruments=“+instruments”); setHeader(新的BasicHeader(“授权”、“承载”+访问令牌))


}

您似乎在询问如何使用标准库而不是任何依赖项,并将帐户id/access令牌编码为基本身份验证标头的一部分。我建议使用。它是Java标准库的一部分。请尝试以下操作:

HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
String encoded = Base64.encode(account_id+":"+access_token);
connection.setRequestProperty("Authorization", "Basic "+encoded);

你能把你的代码减少到最低限度来重现这个问题吗!我正在尝试连接到。因为它是访问此api的安全登录,所以需要在标头中传递一个字符串access_token=“access-token”和字符串account_id=“1234567”来验证登录。我试图在没有maven的情况下在Java中实现这一点……他们使用的是“HTTPClient”和“HttpClientBuilder”,它们是maven类。我只想使用一个直接的URLConnection来访问,而不需要maven架构类型。为什么这个被标记为“maven”?是的。我非常熟悉Java编程,并且没有使用HttpUrlConnection类进行过联网。我想我问的问题是倒着问的。谢谢你的帮助,乔恩。
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
String encoded = Base64.encode(account_id+":"+access_token);
connection.setRequestProperty("Authorization", "Basic "+encoded);