关于http的Authorization

今天解决了一个关于下载时显示401的bug,主要的原因通过抓包分析得出是由于下载请求中没有Authorization。主要的原因是IE内核中接管下载请求后没有对其进行处理。而此时通过httpqueryinfo(flag设置为Authorization)查找失败。结果经过尝试发现要用internetqueryinfo

flag设置为查找用户名和密码,得到后进行base64处理然后格式化为“BASIC ” 。。。。(为base64后的用户名和密码)。下载正常。这里有个问题,第一次在没有basic的情况下,下载失败。为什么呢?

 

下面就是原因

什么是HTTP Basic Authentication?

直接看RFC2617。

在你访问一个需要HTTP Basic Authentication的URL的时候,如果你没有提供用户名和密码,服务器就会返回401,如果你直接在浏览器中打开,浏览器会提示你输入用户名和密码(google浏览器不会,bug?)。你可以尝试点击这个url看看效果:http://api.minicloud.com.cn/statuses/friends_timeline.xml

要在发送请求的时候添加HTTP Basic Authentication认证信息到请求中,有两种方法:

 

 


©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页