如何訪問帶有驗證(Authorization)的url,並且返回數據


實習上班領導讓我實現一個接口,傳輸json格式的數據到另外一個系統然后返回結果。接口實現倒是很順利,結果最后post卻遇到了一個坑。

 

例如:我要post json格式數據到http://username:password@ip地址:端口號/xxxxxxxxx

 

問題情況:

  使用postman把我要傳輸的json數據填入,返回成功。(原以為能提早完成任務)

  然后將項目部署到服務器卻報錯,上實際運行返回:

  1. Need username or password

  2. 響應碼:401 msg:Unauthorized

 

解決方法:

  不能直接在url中使用username:password@,postman會自動配置Authorization的信息產生成功的假象,實則要在代碼中單獨設置header傳送username和password的值  

 //username:password替換成正確的賬號密碼,並使用base64進行加密,將加密的字節信息轉化為string類型,encoding--->token
 String encoding = DatatypeConverter.printBase64Binary("username:password".getBytes("UTF-8"));

  我用的是Hutool中的HttpUtil.post(),直接按照鏈式變成規范后面加上addHeader("Authorization", "Basic " +encoding)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM