如何访问带有验证(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