Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Automatyczne logowanie i pobranie pliku XML
Forum PHP.pl > Forum > PHP
grabtom
Witam!
Mam następujący problem. Mam skrypt parsujący pliki XML.
Plik XML ma adres http://jaka.strona/plik.xml
Jednak aby móc odczytać plik XML muszę zalogować się na stronie.
Logowuję się wpisując dane do formularza, który następnie wysyła te dane na adres http://jakas.strona/default.asp

I teraz pytanie. Czy jest możliwe aby skrypt sam zalogował się na stronce i wczytał mi plik XML. Próbowałem z przesyłaniem loginu i hasła w odnośniku (http://jakas.strona/default.asp?login=aaa&haslo=aaa), no ale nie wiem jak dalej zmusić skrypt do przejścia do pliku XML.
kszychu
Cytat
Witam!
Mam następujący problem. Mam skrypt parsujący pliki XML.
Plik XML ma adres http://jaka.strona/plik.xml
Jednak aby móc odczytać plik XML muszę zalogować się na stronie.
Logowuję się wpisując dane do formularza, który następnie wysyła te dane na adreshttp://jakas.strona/default.asp

Wnioskuję, że nie masz dostępu do źródeł pliku default.asp.
Sprawdz, jakim sposobem i za pomocą jakich zmiennych wysyłany jest login i hasło do default.asp (w tym celu podejrzyj źródło html pliku logowania). Jeśli get, to zrób tak jak poniżej napisałeś, tylko upewnij się czy zmienne na pewno nazywają sie login i hasło, czy inaczej. Jeśli post, to będzie z tym więcej kłopotu (trzeba wysłać odpowiednie nagłówki) ale też da się zrobić. Było o tym ostatnio na grupie, poszukaj w wyszukiwarce (wysyłanie do skryptu metodą post czy jakoś tak).
Cytat
I teraz pytanie. Czy jest możliwe aby skrypt sam zalogował się na stronce i wczytał mi plik XML. Próbowałem z przesyłaniem loginu i hasła w odnośniku (http://jakas.strona/default.asp?login=aaa&haslo=aaa), no ale nie wiem jak dalej zmusić skrypt do przejścia do pliku XML.

A czy po "ręcznym" zalogowaniu od razu ściąga Ci się plik xml? Jeśli tak, to wystarczy obsłużyć logowanie, jeśli nie, to podejrzyj link, który powoduje ściąganie pliku xml i w skrypcie, po zalogowaniu wywołaj ten link.
grabtom
Na stronce mogę się logować za pomocą linku. Mam nazwy zmiennych jakie są potrzebne do zalogowania. Problem w tym że nie wiem jak to wszystko połączyć w skrypcie php.
Jaka funkca sprawi że nastąpi zalogowanie za pomocą linku: http://jakas.strona/default.asp?loginname=...e=aaa&haslo=aaa
a następnie zostanie wykonany kod:
[php:1:3944cb675d]<?php
$file = "http://jakas.strona/plik.xml";
$fp = fopen($file, 'rb');
.
.
.
?>[/php:1:3944cb675d]
grabtom
Widzę że problem trudny, być może nie do rozwiązania za pomocą php. Ale zauważyłem pewną rzecz. Otóż wcale nie trzeba się logować żeby dotrzeć do pliku XML. Być może to ułatwi sprawę i ktoś coś wymyśli.

Wyjaśnię na tym konkretnym przykładzie.
Link do pliku XML to: http://www.hattrick.org/Common/leagueFixtu...=9571&season=10

Jednak po wklepaniu adresu w przeglądarce nie wyświetli nam się plik.
Ale otwórzmy najpierw adres www.hattrick.org a następnie po otwarciu strony wklejmy adres do pliku XML, wtedy już bez problemu naszym oczom ukaże się plik XML.

Domyślam się, że aby otrzymać plik XML przeglądarka musi przekazać jakąś zmienną lub coś w stylu HTTP_REFERER ze stronki www.hattrick.org
Do źródeł strony nie mam oczywiście dostępu, no ale może ma ktoś jakiś pomysł na to aby w jakiś sposób móc przekazać pliczek XML do mojego skryptu z parserem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.