Czy istnieje sposób na odczytanie prostej strony asp z jednym wierszem przy użyciu pliku wsadowego?


-1

Mam prostą stronę asp, na której piszę adres IP i nic więcej.

Teraz potrzebuję pliku wsadowego, aby odczytać zawartość tej strony i przekazać ją do zmiennej.

Nie jestem dobry z plikami wsadowymi, ale wydaje się, że FOR może czytać tylko z folderów lokalnych, a wget musi być zainstalowany, aby móc czytać pliki online.

Czy jest jakiś sposób, aby to zrobić?

Odpowiedzi:


1

wget jest przenośny . cURL też jest .

Możesz pobrać te dwa pliki binarne i użyć ich w skrypcie wsadowym zgodnie z wymaganiami. Upewnij się tylko, że pliki EXE znajdują się w tym samym katalogu, co skrypt wsadowy. Lub jeśli chcesz uzyskać dostęp globalny, dodaj ich lokalizacje do zmiennej PATH .

Możesz pobrać stronę za pomocą WGET, używając polecenia:

WGET http://somewebsite.com/index.asp -O index.asp

AKTUALIZACJA:

Aby pobrać stronę internetową za pomocą usługi Telnet, najpierw uruchom skrypt jako administrator i umieść ten wiersz kodu gdzieś w skrypcie:

dism / online / enable-feature / FeatureName: TelnetClient

Następnie użyj tej sprytnej metody wysyłania tekstu do sesji telnet . Utwórz plik o nazwie SendKeys.vbs w tym samym folderze co skrypt wsadowy i upewnij się, że zawiera następujące wiersze kodu:

ustaw OBJECT = WScript.CreateObject („WScript.Shell”)
„śpij przez 50 ms
WScript.sleep 50
„pobierz stronę index.htm. Zamień to na stronę, którą chcesz pobrać
OBJECT.SendKeys "GET /index.htm {ENTER}"
„śpij przez 4 sekundy
WScript.sleep 4000
„zakończ sesję telnet
OBJECT.SendKeys „{ENTER}”

a dla skryptu wsadowego użyj tego:

@ECHO OFF
REM zmień elegantetchings.com na adres serwera WWW
uruchom telnet elegantetchings.com 80
cscript SendKeys.vbs
pauza

Dzięki, że to działa. Ale robi to trochę inaczej niż się spodziewałem. Chciałbym przeczytać zawartość index.asp i zapisać ją w zmiennej, nie pobierać indeksu, a następnie go czytać. Dodatkowo muszę uruchomić tę partię na wielu komputerach, które nie mają wgeta i nie chcę mieć problemów z instalowaniem jej dla wszystkich. Jakie mam alternatywy?
Christos K.,

Jest na to sposób. Nie jest często używany. Za pomocą usługi Telnet można pobierać dane wyjściowe ze strony internetowej. Jest tu wyjaśnione . Wymaga to jednak włączenia Telnet na wszystkich komputerach, na których działa skrypt. Możesz włączyć Telnet z „Włącz lub wyłącz funkcje systemu Windows” w „Programy i funkcje” w Panelu sterowania
Vinayak,

1
Zasadniczo komendy to: telnet somewebsite.com 80a następnie wpisujesz GET /index.asp. Naciśnij klawisz Enter, a zobaczysz kod źródłowy HTML całej strony w konsoli
Vinayak

Jest to jednak naprawdę zły sposób na robienie różnych rzeczy. Polecam rzucić okiem na automatyzację AutoIt dla Windows. Możesz użyć AutoIt, aby zrobić naprawdę fajne rzeczy. Ponadto dokumentacja oprogramowania jest bardzo szczegółowa i nienaganna. Możesz także skompilować skrypty AutoIt do samowystarczalnych plików EXE, abyś mógł uruchamiać skrypty na komputerach, które nie mają AutoIt
Vinayak

Tak, telnet nie jest domyślnie dostępny, ale można go włączyć w opcji „Włącz lub wyłącz funkcje systemu Windows” w „Programy i funkcje” w Panelu sterowania. Możesz to zrobić ze skryptu wsadowego (jeśli uruchamiasz go z uprawnieniami administratora) za pomocą tego polecenia:dism /online /enable-feature /FeatureName:TelnetClient
Vinayak
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.