у меня есть скрипт, который загружает из инета определённую страницу, переколбашивает
её и вываливает видоизменённую на страницу, вот код:
<html>
<script >
<!--
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
function PostOrder()
{
var url = "http://www.nix.ru/dealers/includes/goods_group_list.html?g_id=13"
xmlhttp.Open("GET", url, false);
xmlhttp.onreadystatechange= HandleStateChange;
xmlhttp.Send();
}
function HandleStateChange()
{
document.write(xmlhttp.readyState + "<br>")
if (xmlhttp.readyState == 4)
{
res = xmlhttp.responseText;
var table = "<table border=1>\n";
table += res;
table += "</table>";
document.write(table);
}
}
onload = PostOrder;
//-->
</script>
</html>
Всё работает.
Но это на клиенте. Браузер IE6
хочу сделать тоже самое, но чтобы работал Серверный код. Лицезрейте:
<html>
<script runat=server Language="JScript">
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
function PostOrder()
{
var url = "http://www.nix.ru/dealers/includes/goods_group_list.html?g_id=13"
xmlhttp.Open("GET", url, false);
xmlhttp.onreadystatechange= HandleStateChange;
xmlhttp.Send();
}
function HandleStateChange()
{
Response.Write(xmlhttp.readyState + "<br>")
if (xmlhttp.readyState == 4)
{
res = xmlhttp.responseText;
var table = "<table border=1>\n";
table += res;
table += "</table>";
Response.Write(table);
}
}
PostOrder();
</script>
</html>
Однако, при попытки выполнить ЭТО сервер мне возвращает сообщение об ошибке:
Тип ошибки:
(0x800C0005)
/test.asp, line 10
Это в том месте, где я делаю
xmlhttp.Send();
Я уже что тока не делал, и разрешения у меня выставленны уже ВЕЗДЕ тоесть всем всё можно...
Может кто мне помочь советом?
Здравствуйте, Adward, Вы писали:
A>у меня есть скрипт, который загружает из инета определённую страницу, переколбашивает её и вываливает видоизменённую на страницу, вот код:
XMLHTTP не предназначен для серверных приложений.
Нужно использовать ServerXMLHTTP\WinHTTP
Здравствуйте, Аноним, Вы писали:
A>>у меня есть скрипт, который загружает из инета определённую страницу, переколбашивает её и вываливает видоизменённую на страницу, вот код:
А>XMLHTTP не предназначен для серверных приложений.
А>Нужно использовать ServerXMLHTTP\WinHTTP
Поискал в интернете именно эту тему.
нашёл статью
Получение и отправка данных с других web-сайтов из asp-скрипта. Часть II. MSXML
Вот собственно код, который я и хочу выполнить(слегка видоизменив из Доки):
<%
'В реальности берется либо из Request.QueryString либо из WScript.Arguments
Dim strPOSTdata: strPOSTdata="213.59.42.2"
'Создаем объект XMLHTTP (для серверных приложений лучше использовать ServerXMLHTTP)
Dim objHTTP: Set objHTTP = CreateObject("MSXML2.XMLHTTP") objHTTP.open "POST", "http://isp.krasnoyarsk.ru/whois.cgi", False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send("addr=" & strPOSTdata) 'Посылаем запрос и данные
If objHTTP.status=200 Then
Response.Write objHTTP.responseText 'если запрос Ok, то выводим..
End If
Set objHTTP=Nothing
%>
Однако же опять таки выскакивает ошибка на objHTTP.send()
Причём, если я поднимаю объект CreateObject("MSXML2.XMLHTTP")
Ошибка называет себя как
Тип ошибки:
(0x800C0005)
/test1.asp, line 15
если я поднимаю CreateObject("MSXML2.ServerXMLHTTP")
Ошибается на:
Тип ошибки:
msxml3.dll (0x80072EFD)
Не удается установить соединение с сервером
/test1.asp, line 15
P.S. Пинг до хоста 213.59.42.2 проходит ровно....
Трабла?
Здравствуйте, Adward, Вы писали:
А>>XMLHTTP не предназначен для серверных приложений.
А>>Нужно использовать ServerXMLHTTP\WinHTTP
A>Поискал в интернете именно эту тему.
A>нашёл статью Получение и отправка данных с других web-сайтов из asp-скрипта. Часть II. MSXML
A>Однако же опять таки выскакивает ошибка на objHTTP.send()
A>если я поднимаю CreateObject("MSXML2.ServerXMLHTTP")
A>Ошибается на:
A>Тип ошибки:
A>msxml3.dll (0x80072EFD)
A>Не удается установить соединение с сервером
A>Трабла?
Есть трабла
Необходимо конфигурить проксю
Search MSDN: Proxy AND ServerXMLHTTP
Здравствуйте, Аноним, Вы писали:
A>>у меня есть скрипт, который загружает из инета определённую страницу, переколбашивает её и вываливает видоизменённую на страницу, вот код:
А>XMLHTTP не предназначен для серверных приложений.
А>Нужно использовать ServerXMLHTTP\WinHTTP
Попробывал следующее:
<%@language=JScript%>
<%
var srvXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP");
srvXmlHttp.open ("GET", "http://www.ru/", false);
srvXmlHttp.setRequestHeader("Content-Type", "text/html; charset=windows-1251");
srvXmlHttp.send();
Response.write(srvXmlHttp.responseText);
%>
Код заработал на сервере, но продолжает неработать на моей машине.
Тут я вразумел, что скорее всего у меня не работает потому, что я хожу через прокси.
Искал в msdn'е выход, нашёл метод
srvXmlHttp.setProxy(proxySetting, varProxyServer, varBypassList);
Достаточно скудная информация о нём на
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xml_mth_sz_65q1.asp
Мало того, непонятно,каким образом задавать параметры, что такое proxySetting — не ясно...(ProxyServer и BypassList вроде как понятны — имя сервера и исключения)
Больше всего меня убило то, что сервер мой выдаёт ошибку:
Ошибка выполнения Microsoft JScript (0x800A01B6)
Объект не поддерживает это свойство или метод
/test.asp, line 6
Это он на setProxy ругается...
Может кто из Гуру мне подскажет, что и как?
буду рад, спасибо заранее....