Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> System.Net.HttpWebRequest/System.Net.HttpWebResponse, pobieranie danych xml z zewnętrznego serwisu
marekk
post 29.10.2007, 19:31:19
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 27.05.2003

Ostrzeżenie: (0%)
-----


WItam,

mam następujący problem: potrzebuję połączyć się z pewną witryną, przeprowadzić tam autoryzację, po czym ściągnąć pliki xml generowane na bieżąco. Niestety zwykłe funkcje ściągające file_get_contents itp. nie działają gdyż pliki nie są tryzmane besposrednio na serwerze, do tego dochodzi jak wspomniałem autoryzacja. Czytałem trochę i zdajsie można to rozwiązać z wykorzystaniem klas System.Net.HttpWebRequest/System.Net.HttpWebResponse czyli metodą ściągania danych do łańcucha tekstowego. Niestety nie znalazłem nigdzie w miarę jasno opisanej metody z użyciem tych klas i jeszcze pod platforme www.

Jezeli ktoś robił już coś podobnego prosiłbym o pomoc, ewentualnie jakieś inne pomysły rozwiązania problemu.
Go to the top of the page
+Quote Post
NuLL
post 29.10.2007, 19:48:18
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Takich klas w PHPie nie ma. Sa one dostepne dla platformy .NET - nie to forum winksmiley.jpg


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
marekk
post 29.10.2007, 20:08:40
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 27.05.2003

Ostrzeżenie: (0%)
-----


Tzn. rozumiem nie jest realne zrobienie tego pod stronę WWW przy użyciu HttpWebResponse ?

Jeżeli nie, czego użyć aby przeprowadzić autoryzację i zassać takie dane?
Go to the top of the page
+Quote Post
drPayton
post 29.10.2007, 20:12:24
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


TU masz łopatologicznie wytłumaczoną komunikacje (na przykładzie Allegro) z użyciem tych klas.
W php do tego służy CURL

edit: Da się to zrobić korzystając z tych klas, ale w asp.net (C#) winksmiley.jpg

Ten post edytował drPayton 29.10.2007, 20:13:42
Go to the top of the page
+Quote Post
marekk
post 29.10.2007, 21:02:03
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 27.05.2003

Ostrzeżenie: (0%)
-----


M.in. ten artykuł wcześniej cyztałem i myślałem ze da sie jakoś to rozwiązać i tym sposobem rolleyes.gif

Ale generalnie chcę zeby to działało a musi być w php, poczytam o curlu w takim razie smile.gif

Próbowałem tego curla i jedno co mi sięudaje to autryzować:

$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'http://mojastrona.pl/autorize.php);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, 'login=aaa&password=bbb');
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($c);

zwraca 1-ke czyli poszło. Ale teraz po autoryzacji potrzebuję z zachowaniem autoryzowanej sesji pobrać dane:

$file = fopen("plik_do_zapisu.txt", "w+");

curl_setopt($c, CURLOPT_URL, "http://mojastrona.pl/dane.xml");
curl_setopt($c, CURLOPT_FILE, $file);
echo curl_exec($c);

curl_close($c);

Niestety otrzymuję pusty plik sad.gif
Może by ktoś pomógł? snitch.gif Nie wiem czy ta sesja jest gubiona (tworzona od nowa) czy pamietana, czy też może trzeba jeszcze jakieś instrukcje po drodze wykonać?

Ten post edytował marekk 29.10.2007, 21:02:20
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 07:18