Http-get

Обсуждение программ nnCron и nnCron LITE

Http-get

Postby arcor10 » Wed, 06 Sep 2006, 09:46

Добрый день. Что неправильного в скрипте. ( Мне надо просто получить страницу без анализа)

Code: Select all
#( Inet
Time: */2 * * * * *


Action:
HTTP-GET: "http://www.asmog.ru/test.php"
)#


в логах:

Code: Select all
10:36:32 1920 Inet: Action: stack error.
10:38:00 1040 TASK: Inet
10:38:31 1040 Inet: Action: stack error.
10:40:00 1368 TASK: Inet
10:40:31 1368 Inet: Action: stack error.
10:42:00 936 TASK: Inet
10:42:31 936 Inet: Action: stack error.
10:44:00 1640 TASK: Inet
10:44:31 1640 Inet: Action: stack error.
arcor10
 
Posts: 3
Joined: Wed, 06 Sep 2006, 09:28

Postby Lynx » Wed, 06 Sep 2006, 10:01

Он же тебе сказал - ошибка в стеке :) Если задача вносит какое-то значение в стек, то она же должна его и снять и наоборот.
У тебя HTTP-GET кладет на стек либо данные, либо код ошибки. Ты должен с этим что-то сделать - сохранить ли, занести в буфер или просто удалить - в общем как-нибудь убрать, чтобы стек был как до запуска задачи.
User avatar
Lynx
 
Posts: 321
Joined: Thu, 04 May 2006, 20:07
Location: Уфа

Postby arcor10 » Wed, 06 Sep 2006, 10:09

Спасибо. Вопрос: как удалить ? (какие должен выглядить скрипт)
arcor10
 
Posts: 3
Joined: Wed, 06 Sep 2006, 09:28

Postby Lynx » Wed, 06 Sep 2006, 10:42

Попробуй так:
Code: Select all
#( Inet
Time: */2 * * * * *
Action:
HTTP-GET: "http://www.asmog.ru/test.php"
DROP 2DROP
)#
User avatar
Lynx
 
Posts: 321
Joined: Thu, 04 May 2006, 20:07
Location: Уфа

Postby arcor10 » Wed, 06 Sep 2006, 11:01

ok. Спасибо
arcor10
 
Posts: 3
Joined: Wed, 06 Sep 2006, 09:28

Re: Http-get

Postby ascerdfg1 » Sun, 09 Sep 2012, 18:00

Code: Select all
#( water_tank
NoActive
SingleInstance
Action:
S" http://rp5.ru/archive.php?wmo_id=27710&lang=ru" HTTP-GET 0=
     IF
        S" C:\water_tank.html" FWRITE
     ELSE 2DROP THEN
FILE-EXIST: "C:\water_tank.html"
 IF
  S" C:\water_tank.html" FILE
       S" 9.8" SEARCH
        IF
          BEGIN PROC-EXIST: "LA.exe" WHILE \ если я смарю кино, подождать с сообщением
            PAUSE: 5000
          REPEAT
          MSG: "слей" 2DROP
        ELSE
           ERR-MSG: "не слей" 2DROP
        THEN
    FILE-DELETE: "C:\water_tank.html" \ обязательно, для дополнительной проверки что http-get сработал
 ELSE
    MSG: "C:\water_tank.html не найден"
 THEN
)#
Почему выполняется около пяти минут?
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Http-get

Postby VoidVolker » Sun, 09 Sep 2012, 20:50

Только два варианта. Либо долго скачивает страницу:
Code: Select all
S" http://rp5.ru/archive.php?wmo_id=27710&lang=ru" HTTP-GET 0=

Либо в течении этих пяти минут выполняется условие в этом цикле:
Code: Select all
BEGIN PROC-EXIST: "LA.exe" WHILE \ если я смарю кино, подождать с сообщением            
  PAUSE: 5000          
REPEAT
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Http-get

Postby ascerdfg1 » Sun, 09 Sep 2012, 21:05

Видеоплеер камментил, один хрен.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Http-get

Postby VoidVolker » Sun, 09 Sep 2012, 21:10

Тогда следует расставить в ключевых местах "маркеры":
Code: Select all
...
." Выполнен шаг 1" CR
...
." Выполнен шаг 2" CR
...

Открыть консоль, запустить задачу и смотреть в реальном времени процесс работы задачи.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Http-get

Postby ascerdfg1 » Sun, 09 Sep 2012, 22:04

Http-get долго файл качает
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Http-get

Postby ascerdfg1 » Mon, 10 Sep 2012, 07:18

И в домашней папке ннКрон накапливаются файлы вида "16.3028.1968430" с размером и содержимым скачиваемой страницы.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Http-get

Postby VoidVolker » Mon, 10 Sep 2012, 07:27

Я для передачи файлов по сети уже давно использую wget и wput:
Code: Select all
: wget.exe " D:\wget\bin\wget.exe " ;
: wget.log " E:\TEMP\NET-GET\logs\%DD%-%MM%-%YYYY%.log" ;
\ : wget.log " %NNCRON-HOME-DIR\%LOGS\WGET\%DD%-%MM%-%YYYY%.log" ;

: wput.exe " D:\wput\wput.exe" ;
: wput.log " E:\TEMP\NET-PUT\logs\%DD%-%MM%-%YYYY%.log" ;
\ : wput.log " %NNCRON-HOME-DIR\%LOGS\WPUT\%DD%-%MM%-%YYYY%.log" ;

: LINK>FILENAME   \ ( path -- fname )
  " \" BACK-SEARCH
    IF
      1 -1 D+
    ELSE
      " /" BACK-SEARCH
        IF 1 -1 D+ THEN
    THEN
  DUP 1 < IF 2DROP "" THEN
;

: CATALOG?   \ ( a u -- ? ) \ Проверяет наличие какого-либо слеша в позиции последнего символа
  + 1- C@ [CHAR] / OVER = SWAP [CHAR] \ = OR
;

: #*16 # # # # # # # # # # # # # # # # ;

: NET-GET   \ ( au_netfullpath au_localfullpath -- ) \ Скачать из сети определенный файл и сохранить
\ его под определенным именем. Файл скачивается во временный каталог(со временным случайным именем)
\ и только потом перемещается. Если файл уже существует - он перезаписывается. Если имя не указано - оно берется из линка.
\ Логи сохраняются по дням.
  2OVER CATALOG?
  IF ABORT" NET-GET -> Указан сетевой линк на каталог - не знаю что скачивать."  THEN
  2DUP CATALOG?
  IF
    \ ABORT" NET-GET -> Указан локальный линк на каталог - не знаю куда сохранять."
    2OVER LINK>FILENAME S+
  THEN
  \ Генерируем длинное случайное имя для файла
  2>R                                         \ netpath  R: localpath
  BASE @ >R HEX                               \ netpath  R: localpath base
  0x7FFFFFFF RANDOM 0x7FFFFFFF RANDOM 0x7FFFFFFF RANDOM 0x7FFFFFFF RANDOM
  <# #*16 2DROP #*16 #>             \ netpath tempname  R: localpath base
  R> BASE !                                   \ netpath tempname  R: localpath
 
  2DUP "" S+ 2>R                              \ netpath tempname  R: localpath tempname
  " -O " 2SWAP S+ "  " S+ 2SWAP S+            \ "-o tempname netname"  R: localpath tempname
  SWHide               \ Не показывать окно приложения
  StartIn: "E:\TEMP\NET-GET\"
  wget.exe 2SWAP S+ "  -k -a |q%wget.log%|q" S+
  START-APPW                \ R: localpath tempname
 
  \ Файл скачан, теперь обрабатываем его
  " E:\TEMP\NET-GET\" 2R> S+ 2R>              \ temppath localpath
  2DUP FDELETE        \ Удаляем локальныый файл, если он уже есть
  2DUP REL-PATH DIR-CREATE   \ Создаем промежуточные каталоги, если необходимо
  2OVER 2SWAP FMOVE   \ Перемещаем с переименовыванием файл из временного каталога
  FDELETE             \ На всякий случай удаляем скачанный, но не перемещенный по каким-либо причинам файл - чтобы не засорять.
\ 2DROP
;

: NET-MOVE   \ ( au_localpath au_netpath -- ) \ Начать перемещение файлa в сеть.
\ Если файл уже существует - он перезаписывается. Если в качестве источника укзан каталог, то
\ передаются все файлы из данного каталога. Успешно переданные файлы удаляются.
\ Логи сохраняются по дням.
  2SWAP 2DUP CATALOG?  \ Указан каталог?
  IF  \ То закачиваем все файлы из локального каталога
  \ -B бинарный режим, -u перезапись, -nc без докачки, -R удалить переданные исходные файлы
  \ -t<num> число поппыток, -a "<path>" дописывание лога
    StartIn: "%1 esPICKS%"
    " %wput.exe% -R -B -u -nc -t5 -a |q%wput.log%|q |q" 2SWAP S+ " |q" S+
  ELSE \ Иначе передаем только файл
    StartIn: "E:\TEMP\NET-PUT\"
    " %wput.exe% -R -B -u -nc -t5 -a |q%wput.log%|q |q" 2SWAP S+ " |q |q" S+ 2SWAP S+ " |q" S+
  THEN
  \ SWHide               \ Не показывать окно приложения
  START-APP
;

Требуется плагин автостроки и обратный поиск:
Code: Select all
 : BACK-SEARCH  { a u a1 u1 \ a2 u2 -- a2 u2 ? }  \ Поиск с конца
  0
  a TO a2  u TO u2
  a u +
  u 0 DO
    DUP I -
    u1 a1 u1 COMPARE
        IF ELSE
            DUP I  - TO a2
            I TO u2
            NIP -1 SWAP
            LEAVE
        THEN
  LOOP DROP
  a2 u2 ROT
;
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Http-get

Postby ascerdfg1 » Mon, 10 Sep 2012, 07:34

Ну а с "HTTP-GET" не излечимо?
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Http-get

Postby VoidVolker » Mon, 10 Sep 2012, 07:40

У него это бывает, иногда нормально скачивает, а иногда очень долго не может установить связь с сервером и скачать файл. А wget надежнее.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Http-get

Postby ascerdfg1 » Mon, 10 Sep 2012, 08:11

Ну а "http.spf" по-современней есть? У меня 2003 год.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Next

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 6 guests

cron