Java HttpUrlConnection-401,带有身份验证头

Java HttpUrlConnection-401,带有身份验证头,java,http,httpurlconnection,Java,Http,Httpurlconnection,很可能我做错了什么,但是使用Curl/Rest客户端,我能够使用Oauth2生成的令牌向服务器发送http请求,下面是详细信息: url: https://blah.blah Authorization: OAuth <oauth token> Accept: application/blah (I'm hiding some of the details...) 我猜我的头球打错了,但我不知道怎么做。有没有更好的方法来实现http请求的头 如有任何意见或建议,将不胜感激。 谢谢您

很可能我做错了什么,但是使用Curl/Rest客户端,我能够使用Oauth2生成的令牌向服务器发送http请求,下面是详细信息:

url: https://blah.blah
Authorization: OAuth <oauth token>
Accept: application/blah (I'm hiding some of the details...)
我猜我的头球打错了,但我不知道怎么做。有没有更好的方法来实现http请求的头

如有任何意见或建议,将不胜感激。
谢谢

您正在curl中设置授权:OAuth,而在代码中我看到您正在执行授权:我看到OAuth缺失,希望这不是问题。

不要在addRequestProperty()或setRequestProperty()的关键规范中包含“OAuth”。所以这是不正确的:

httpReq.addRequestProperty("Authorization: OAuth ", token.trim()); 
相反,它应该是值的一部分:

String header = "OAuth oauth_token=\"ConsumerKey%3D...\",oauth_consumer_key=\"...";
httpReq.setRequestProperty("Authorization", header);

上面的方法应该有用。

你说得对,我没想到。我刚刚更新了它,但同样的事情正在发生。谢谢你注意到这一点!检查此链接
String header = "OAuth oauth_token=\"ConsumerKey%3D...\",oauth_consumer_key=\"...";
httpReq.setRequestProperty("Authorization", header);