我正在发布到API服务器,并且得到以下答复:
Server Response: {"detail":"Authentication credentials were not provided."}
我正在用Java编写请求,但不确定为什么没有提供凭据。
这是我的代码片段:
hconn.setRequestProperty("Content-Type", "application/json");
hconn.setRequestProperty( "Accept", "application/json" );
if( urlconn instanceof HttpsURLConnection )
{
String encoded = new String(Base64.getEncoder().encode( ( username + ":" + password).getBytes()));
String auth = "Basic " + encoded;
urlconn.setRequestProperty("Encoded Authorization", auth );
}
其中
hconn
是HttpURLConnection
类型这是你们唯一需要的相对片段。我缺少在此处设置的属性吗?
我知道服务器响应来自Django框架,但是在确定阻止此问题所需的IS方面,文档尚不清楚。
任何帮助表示赞赏。
最佳答案
Authorization
是正确的请求标头名称,而不是“编码授权”。所以,你应该设置
urlConn.setRequestProperty("Authorization", auth);