Redirect Box API文件下载在任意文件上失败

Redirect Box API文件下载在任意文件上失败,redirect,authorization,box-api,Redirect,Authorization,Box Api,我正在努力调试Box API当前存在的一个问题。考虑到几千个用户的文件,我能够始终成功下载大部分文件,但其他文件始终失败,响应如下: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>InvalidArgument</Code><Message>Either the Signature query string parameter or the Authorization heade

我正在努力调试Box API当前存在的一个问题。考虑到几千个用户的文件,我能够始终成功下载大部分文件,但其他文件始终失败,响应如下:

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidArgument</Code><Message>Either the Signature query string parameter or the Authorization header should be specified, not both</Message><ArgumentValue>BoxAuth api_key=<removed>&amp;auth_token=<removed></ArgumentValue><ArgumentName>Authorization</ArgumentName><RequestId>83572B6EE6CCAF05</RequestId><HostId>MDk4PiUtdr/RS4vqd7p5Qw1MwohBHkhs35dLf6KWZx+11VBQtbTurwq0wVF9QTPC</HostId></Error>
这是从$ID/content端点返回的302重定向的位置返回的。对于大多数文件,这是正确的,但由于某些原因,对于某些文件,它始终不正确。在通过和失败的情况下,我都捕获了重定向url的请求头,看不到任何区别:

通过案例:

GET /bc/1/91652da319a59980c374f9059718080e/JolueqOGpciD6dgYhecNBoVpYxkvmYe1ZLheZor6BF4DUBIelMQTkFwYIys3nIibNIIEHUp447tBZLaXDzIbNQ,,/98713569dfe691813e006a1651c7c3e6/ HTTP/1.1
Host: dl.boxcloud.com
Accept: */*
Authorization: BoxAuth     api_key=<removed>&auth_token=<removed>
GET/bc/1/91652da319a5980c374f90597180e/jolueqogpcid6dgyhecnbovpyxkvmeye1zlhezor6b4dubielmqfwyyiys3niibniiehup447tbzlaxdzibnq,,/98713569dfe691813e006a16a161c3e6/HTTP/1.1
主持人:dl.boxcloud.com
接受:*/*
授权:BoxAuth api_密钥=&auth_令牌=
失败案例:

GET /bc/1/44d67f0a3e406676711cbd18cc657696/JolueqOGpciD6dgYhecNBoVpYxkvmYe1ZLheZor6BF4DUBIelMQTkFwYIys3nIibNIIEHUp447tBZLaXDzIbNQ,,/405f32a3d6d6e1240832ab14a08e6d99/ HTTP/1.1
Host: dl.boxcloud.com
Accept: */*
Authorization: BoxAuth     api_key=<removed>&auth_token=<removed>
GET/bc/1/44d67f0a3e40667611cbd18cc657696/jolueqogpcid6dgyhecnbovpyxkvmye1zlhezor6b4dubielmqtkfwyiys3niibniiehup447tbzlaxdzibnq,,/405f32a3d6d6d61240832ab14a08e6d99/HTTP/1.1
主持人:dl.boxcloud.com
接受:*/*
授权:BoxAuth api_密钥=&auth_令牌=

我在调试想法方面遇到了困难,所以我愿意接受建议。

事实证明,这是一个关于Curl如何跨重定向维护头的问题,再加上不容忍dl.boxcloud.com上的重定向url指向box的授权头。我修复了这个问题,将curl的FOLLOWLOCATION设置为false,并在清除请求中的所有头之后手动执行重定向

目前尚不清楚为什么这只发生在某些请求上,而不是其他请求上。我还不清楚为什么后端会对这种行为如此敏感