正在查找Excel HTTP响应标头的文档



我很难找到有关Excel希望确定使用何种类型的身份验证或是否进行身份验证的标头和值类型的文档。

例如,我有一个web服务器,它是excel文件的所在地,这些文件需要基本的身份验证才能访问。

使用数据链接引用要下载的文件的URL会提示我第一次按预期提供凭据。如果我保存excel文档并尝试刷新链接,则不会使用任何提示进行身份验证,并且在我尝试第二次更新值之前,文档第一次连接失败。

excel是否希望任何特定的头都知道提示凭据,而不必在第一次加载时再次更新值?

这是通过向我的应用程序添加WebDAV支持来实现的。

Excel最初将发送OPTIONS方法请求,以确定服务器是否支持Sharepoint或WebDAV等功能。

回复示例如下:

HTTP/2 200
Method: OPTIONS
Path: /documents/filename.xlsx
Accept-Ranges: none
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET,POST,OPTIONS,HEAD,LOCK,UNLOCK,CHECKIN,CHECKOUT,PROPFIND
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: dav, content-length, allow
Content-Length: 0
dav: 1,2
ms-author-via: DAV
x-engine: Application Server

确定通信协议支持后,将发送PROPFIND请求。如果像我的情况一样需要身份验证,我们会返回401错误和可接受的身份验证。

HTTP/2 401
Method: PROPFIND
Path: /documents/filename.xlsx
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Warning: Authentication Required!
WWW-Authenticate:  Digest realm="Application-Server", nonce="#####", algorithm=MD5, qop="auth"
x-msdavext_error: 401; Authorization is required for this resource. Please authenticate using Bearer, Digest or Cookie based authentication.
ms-author-via: DAV

Microsoft office不赞成使用基本身份验证,因此需要摘要。

最新更新