Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.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 &引用;旋度-u“;ApacheHttpClient的API密钥授权_Java_Http Post_Authorization_Apache Httpclient 4.x - Fatal编程技术网

Java &引用;旋度-u“;ApacheHttpClient的API密钥授权

Java &引用;旋度-u“;ApacheHttpClient的API密钥授权,java,http-post,authorization,apache-httpclient-4.x,Java,Http Post,Authorization,Apache Httpclient 4.x,我可以使用restapi使用cURL作为答案。现在我想使用库将其“翻译”为Java代码。我只是在添加API密钥authorization头时遇到问题: HttpPost request = new HttpPost(DE_COMPILATION_URL); byte[] encodedAuth = Base64.encodeBase64(API_KEY.getBytes(StandardCharsets.UTF_8)); String authHeader = "Basic " + new St

我可以使用
restapi
使用
cURL
作为答案。现在我想使用库将其“翻译”为
Java
代码。我只是在添加
API密钥
authorization头时遇到问题:

HttpPost request = new HttpPost(DE_COMPILATION_URL);
byte[] encodedAuth = Base64.encodeBase64(API_KEY.getBytes(StandardCharsets.UTF_8));
String authHeader = "Basic " + new String(encodedAuth);
request.setHeader(HttpHeaders.AUTHORIZATION, authHeader);
request.setHeader("mode", "raw");
request.setHeader("input", "@" + machineCodeFile.toString() + ";filename=" + machineCodeFile.getName());
request.setHeader("architecture", "powerpc");
request.setHeader("endian", "big");
request.setHeader("raw_entry_point", "0x0");
request.setHeader("raw_section_vma", "0x0");
request.setHeader("target_language", "c");

HttpClient client = HttpClientBuilder.create().build();
HttpResponse response = client.execute(request);
String responseBody = EntityUtils.toString(response.getEntity());
System.out.println(responseBody);
这张照片是:

{
    "code": 401,
    "description": "API key authorization failed (missing or invalid API key).",
    "message": "Unauthorized by API Key"
}

我尝试了不同的授权代码,但都不起作用。有什么问题吗?API键是正确的,可以与
cURL

一起使用。不过,我最后忘记了一个冒号。编码中必须包含以下内容:

HttpPost request = new HttpPost(DE_COMPILATION_URL);
byte[] encodedAuth = Base64.encodeBase64((API_KEY + ":").getBytes(StandardCharsets.UTF_8));
String authHeader = "Basic " + new String(encodedAuth);