尝试从XHR对象获取Request标头,但没有运气,该对象的隐藏方法或属性是否会公开浏览器发送的标头?
我已经知道如何设置自定义请求标头并查看响应标头,我希望获得所有已发送的REQUEST标头的列表,浏览器创建的标头和我的自定义标头。
我正在使用webkit / chrome,不关心其他浏览器。
编辑:我不打算监控请求,我正在构建一个Web应用程序,我需要列出这些标题并在应用程序中显示它们,请不要告诉我有关小提琴,萤火虫和镀铬工具的信息,那不是我想要的。答案 0 :(得分:20)
XMLHttpRequest API中没有方法可以获取已发送的请求标头。有些方法只能获取响应标头,设置请求标头。
您必须让服务器回显标头,或使用像Wireshark这样的数据包嗅探器。
答案 1 :(得分:2)
尝试使用Fiddler Web Debugger。
http://www.fiddler2.com/fiddler2/
您可以捕获在任何浏览器中发送的请求,也可以检查请求标头,响应标头,甚至复制捕获已发送的请求并将其作为您自己的请求发送。
答案 2 :(得分:-1)
假设您正在使用jQuery,并且您正在寻找附加的任何内容,但可能没有发送所有标头,这可能有所帮助。不确定它是否符合您的确切需求,(因为浏览器倾向于添加自己的东西),但如果您需要首先获取自己的标题,这可行:
$.ajaxSetup({
beforeSend: function (jqXHR, settings) {
if(!(settings.headers && settings.headers.token)) {
//no token header was set, so set the request header
jqXHR.setRequestHeader('token', newtoken);
}
}
})