Кажется, что я не могу изменить большинство заголовков запросов из JavaScript при вызове AJAX с использованием XMLHttpRequest. Обратите внимание, что когда request.setRequestHeader
нужно вызывать после request.open()
в браузерах Gecko (см. http://ajaxpatterns.org/Talk:XMLHttpRequest_Call). Когда я устанавливаю Referer, он не устанавливается (я посмотрел заголовки запросов, отправленные с использованием Firebug и Tamper Data). Когда я устанавливаю User-Agent, он полностью перепутал вызов AJAX. Однако настройка Accept и Content-Type работает. Предотвращается ли настройка Referer и User-Agent в Firefox 3?
var request = new XMLHttpRequest();
var path="http://www.yahoo.com";
request.onreadystatechange=state_change;
request.open("GET", path, true);
request.setRequestHeader("Referer", "http://www.google.com");
//request.setRequestHeader("User-Agent", "Mozilla/5.0");
request.setRequestHeader("Accept","text/plain");
request.setRequestHeader("Content-Type","text/plain");
request.send(null);
function state_change()
{
if (request.readyState==4)
{// 4 = "loaded"
if (request.status==200)
{// 200 = OK
// ...our code here...
alert('ok');
}
else
{
alert("Problem retrieving XML data");
}
}
}