Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wysyłanie ciasteczek w $context
Forum PHP.pl > Forum > PHP
falouu
Witam
Jak można zrobić takie coś, aby wczytac strone WWW, np. metoda fopen(), ale wysyłając jej CIASTECZKA questionmark.gif
Nie wiem czy to dobrze tłumacze, ale chodzi mi o to, że jak wczytuje pewna strone, to żeby sie ona wyswietlila tak jak chcę, muszą jej być przesłane odpowiednie ciasteczka. Wiem jakie one maja być ale nie wiem jak je wysłać w nagłówku HTTP?? Probowalem to zrobic w kontekscie, ale cos mi nie wychodzilo. Ktoś ma jakis pomysłquestionmark.gif
Hazel
Jeśli chodzi Ci o to, o czym myślę, to jest funkcja header() przeznaczona do wysyłania nagłówków, wśród których możesz wysłać ciasteczko. Podajesz tam parametr 'Set-Cookie: ', po czym parametry ciasteczka.
Jeśli chodziło Ci o to, sprawdź w dokumentacji.
falouu
Nie o to mi chodzilo, moze troche niedokladnie wytlumaczylem: ja nie chce otworzyc strony w przegladarce, tylko wczytac ja do zmiennej (np. metodą fopen()). header() słuzy do wysylania naglowka do przegladarki uzytkownika a nie do serwera strony ktora chce otworzyc przez fopen(). Wyjasnie moze to na przykladzie:

  1. <?php
  2. $url = "http://google.pl"; //zalozmy ze google
  3.  
  4. $handle = fopen($url, 'r', false);
  5. $tresc = '';
  6. while (!feof($handle)) {
  7. $tresc .= fread($handle, 8192);
  8. }
  9. ?>


Ten skrypt wczytuje strone google.pl do zmiennej $tresc. Zalozmy jednak ze po przeslaniu odpowiednich ciasteczek strona google.pl pokazuje inna tresc niz wczytana tak jak wyzej (np dodaje informacje o tym ze odwiedzasz strone po raz kolejny). No i tu wlasnie jest pytanie jak mam przeslac te ciasteczka podczas tworzenia uchwytu fopen() questionmark.gif Probowalem juz czegos takiego:

  1. <?php
  2. $url = "http://google.pl"; //zalozmy ze google
  3. $cukies = array(
  4. 'http' => array( //podanie ciasteczek
  5. 'header' => "Cookie: cid=16117603; PHPSESSID=838a43b463d930bce4f4e2b023619068; sid=1150a
    1321713r\n"
     )
  6. );
  7. $context = stream_context_create($cukies); //utworzenie kontekstu
  8.  
  9. $handle = fopen($url, 'r', false, $context);  // wywolanie z kontekstem
  10. $tresc = '';
  11. while (!feof($handle)) {
  12. $tresc .= fread($handle, 8192);
  13. }
  14. ?>


Jednak nie dalo to rezultatu, dalej strona wczytuje sie do zmiennej jak "bez ciasteczek".
Czy jest na to jakis sposob? a moze nie da sie tego zrobic?
Exek
moze http://pl2.php.net/curl ?
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.