我正在尝试使用apache http组件与Spotify api接口。我试图发送的请求在#1下面有详细说明。当我使用curl从bash发送这个请求时
卷曲 -H “授权:基本约门” -d grant_type=client_credentials https://accounts.spotify.com/api/token
我拿回了一个像网站描述的令牌
但是,据我所知,以下java代码执行相同的请求,返回400错误
密码
String encoded = "SOMETOKEN";
CloseableHttpResponse response = null;
try {
CloseableHttpClient client = HttpClients.createDefault();
URI auth = new URIBuilder()
.setScheme("https")
.setHost("accounts.spotify.com")
.setPath("/api/token")
.setParameter("grant_type", "client_credentials")
.build();
HttpPost post = new HttpPost(auth);
Header header = new BasicHeader("Authorization", "Basic " + encoded);
post.setHeader(header);
try {
response = client.execute(post);
response.getEntity().writeTo(System.out);
}
finally {
response.close();
}
} catch (Exception e) {
e.printStackTrace();
}
错误
{"错误":"server_error","error_description":"意外状态: 400"}
代码打印的URI如下所示
https://accounts.spotify.com/api/token?grant_type=client_credentials
标题是这样的
授权:基本的东西
我没有正确地构造请求吗?还是我遗漏了什么?
对内容类型为< code > application/x-www-form-urlencoded 的正文中的数据使用表单url编码:
CloseableHttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost("https://accounts.spotify.com/api/token");
post.setHeader(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded");
post.setHeader(HttpHeaders.AUTHORIZATION, "Basic " + encoded);
StringEntity data = new StringEntity("grant_type=client_credentials");
post.setEntity(data);
HttpResponse response = client.execute(post);
我如何发送此信息: 到API: 使用cURL,我目前一直在使用: 其中我得到了结果(NGrok): GET/testDir/curlPost。php HTTP/1.1 接受:text/html、Application/xhtml xml、image/jxr、/ 接受语言:en-GB 用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537
问题内容: 我想从以下位置检索JSON数据:https : //git.eclipse.org/r/#/c/11376/ 要求网址: 请求方法: 请求标头: 请求有效负载: 我已经尝试过这个答案,但是我得到了。 谁能帮我解决这个问题? 谢谢。 问题答案: 以下代码对我有用。 方法实现:
问题内容: 我查看了用于$ resource的AngularAPI,但没有找到将s发送到RESTful服务的方法。 我知道使用$http方法是可能的,所以,也可以使用吗? 显然,这是的选项。 动作 – {string} –动作的名称。该名称成为资源对象上方法的名称。 方法 – {string} – HTTP请求方法。有效方法为:GET,POST,PUT,DELETE和JSONP params –
我试图通过PHP实现AAA Cooper的SOAP API。当我将XML请求发送到http://wsportal.aaacooper.com:8188/wsportal20/wsGenEst,它通过邮递员,工作正常,但使用CURL时,它不会返回任何内容 我使用直接url(来自wsdl文件),因为他们的wsdl文件似乎已损坏,并且无法使用:http://wsportal.aaacooper.com:
我试图使用eclipse或intellij向api发送get请求,作为使用java/jUnit和放心框架工作的测试的一部分。 每个请求都失败,并显示以下消息 2018年3月13日下午1:29:56组织。阿帕奇。http。impl。客户DefaultHttpClient tryConnect信息:连接到{s}时捕获到I/O异常(java.net.SocketException)- 顺便说一句,我正在
我有一个本地运行的服务器,它有一个内置的rest api。要通过这个api登录,我们需要将用户名,密码和组织作为参数发送到urllocalhost:8090/ehr/api/v1/login通过POST方法和服务器返回一个auth令牌作为响应。当我尝试直接这样做时,无需用户通过以下代码从表单输入: 它工作得非常好,auth token作为json返回,但如果我尝试通过以下代码通过用户表单输入执行相