我需要对代理服务器进行身份验证,在第一次HTTP请求之后,我需要解析proxy-authenticate头字符串以获取相关值。
响应标题看起来像这样,
{ 'content-type': 'text/plain',
'proxy-authenticate': 'Digest realm="zippy", qop="auth",nonce="c1e1c76b5df5a8cdc921b48d6a7b5493", algorithm="MD5", stale="false"',
date: 'Thu, 21 Apr 2016 00:19:28 GMT',
connection: 'close',
'transfer-encoding': 'chunked' }
我想从字符串中提取proxy-authenticate参数(即realm,qop等)。
似乎必须有一些超级简单的方法来做到这一点,但我只是没有找到它。
答案 0 :(得分:1)
只需从JSON中提取密钥,然后将值拆分为,
。然后使用=
再次分割结果数组的每个值。
$(document).ready(function() {
var data = {
'content-type': 'text/plain',
'proxy-authenticate': 'Digest realm="zippy", qop="auth",nonce="c1e1c76b5df5a8cdc921b48d6a7b5493", algorithm="MD5", stale="false"',
date: 'Thu, 21 Apr 2016 00:19:28 GMT',
connection: 'close',
'transfer-encoding': 'chunked'
};
var header = data['proxy-authenticate'];
var contents = header.split(',');
var pairs = {};
$.each(contents, function(index, value) {
var pair = value.split('=');
pairs[pair[0]] = pair[1];
});
$('div').html(JSON.stringify(pairs));
});
这是demo。