我正在发布到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 );

 }


其中hconnHttpURLConnection类型

这是你们唯一需要的相对片段。我缺少在此处设置的属性吗?

我知道服务器响应来自Django框架,但是在确定阻止此问题所需的IS方面,文档尚不清楚。

任何帮助表示赞赏。

最佳答案

Authorization是正确的请求标头名称,而不是“编码授权”。所以,你应该设置

urlConn.setRequestProperty("Authorization", auth);

08-19 05:32