1 (изменено: Parazit, 2017-04-04 15:30:02)

Тема: AutoIt: Получить заголовок страницы в Интернете

Привет. Такая задача.
Надо получить заголовок страницы, которая расположена на удалённом сервере.
Т.е., надо получить текст между тэгами <TITLE>.
С помощью каких встроенных функций можно такое сделать?

2

Re: AutoIt: Получить заголовок страницы в Интернете

Допустим (так же на других языках):

$Title = ' Получить заголовок по URL'
$URL = StringStripWS(InPutBox($Title, 'Введите URL-адрес:', _
'http://forum.script-coding.com','', 300, 136), 7)
If $URL = '' Then Exit

$HTTP = ObjCreate('MSXML2.XMLHTTP.6.0')
$HTTP.Open('GET', $URL, false)
$HTTP.Send

With ObjCreate('htmlfile')
  .DesignMode = 'on'
  .Write($HTTP.ResponseText)
  .Close
  MsgBox(0,'', .Title, $Title)
EndWith

Либо находим гуглом такое.

3 (изменено: Parazit, 2017-04-05 06:32:51)

Re: AutoIt: Получить заголовок страницы в Интернете

Прекрасно. Но есть вопрос. А будет ли работать этот скрипт во всех операционных системах?

Я имею ввиду, существует ли XMLHTTP - интерфейс в системах, начиная с ХР, и кончая 10-ой.
Или это зависит от комплектации и сервиспаков?
Также, я знаю, что объект htmlfile не везде поддерживается.

4

Re: AutoIt: Получить заголовок страницы в Интернете

Вопрос про ОС неправильный. Речь должна идти о версиях и SP одной ОС.
На XP+ без сноса IE или блокировки выполнения ActiveX (в т.ч. выборочно через реестр) всё должно работать.
Разве что 6 можно заменить на 3 или 4, если её нет на XP с пакетом не новее SP2.

5

Re: AutoIt: Получить заголовок страницы в Интернете

ActiveX с именем 'Microsoft.XMLHTTP' имеется на всех ОСях начиная с ХР.

6

Re: AutoIt: Получить заголовок страницы в Интернете

Да, но чем выше версия, тем лучше.

7 (изменено: mozers, 2017-04-05 14:41:24)

Re: AutoIt: Получить заголовок страницы в Интернете

Для данной задачи любой сойдет.
Когда действительно важно использовать лучший вариант, делаю так:

+ открыть спойлер
function XMLHTTP_Init() {
	var progID = ['Msxml2.ServerXMLHTTP.6.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Microsoft.XMLHTTP'];
	for (var i = 0; i < progID.length; i++) {
		try {
			httpRequest = new ActiveXObject(progID[i]);
			if (i > 3) alert("Отправка файлов статотчетности работать не будет!\nУстановите более позднюю версию MSXML.");
			if (i < 1) {
				var Timeout_Resolve = 50*1000;
				var Timeout_Connect = 50*1000;
				var Timeout_Send = 150*1000;
				var Timeout_Receive = 150*1000;
				httpRequest.setTimeouts(Timeout_Resolve, Timeout_Connect, Timeout_Send, Timeout_Receive);
			}
			return httpRequest;
		}
		catch (e) {}
	}
	alert(msxml_alert);
	self.close();
}

8

Re: AutoIt: Получить заголовок страницы в Интернете

Для любой задачи лучше. Прежде всего с точки зрения безопасности.