[PHP] GET request mét cookie ?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mcdronkz
  • Registratie: Oktober 2003
  • Laatst online: 16-04 12:44
Heb nu even een weekje niet de mogelijkheid om wat dingen te testen, vandaar dit topic.

Vroeg me af of je een pagina op kunt roepen met een bepaalde cookie die je vooraf in je script instelt ?

Wil namelijk via PHP wat data van een site afhalen, waarbij ik zelf ben ingelogd.

Kan ik dit gewoon met de header functie doen ? Of gaat dat niet lukken ?

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Je hebt gewoon de HTTP-header "Cookie" ja :)

Of gebruik gewoon CURL, zit ook een cookie-optie bij :)

Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

http://nl2.php.net/setcookie klinkt al veelbelovend. ;)

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
De TS wil een ándere pagina GET-ten, waarbij hij een cookie nodig heeft om bijv zn sessie-ID door te geven.. Heeft dus niets met setcookie te maken.

Acties:
  • 0 Henk 'm!

  • mcdronkz
  • Registratie: Oktober 2003
  • Laatst online: 16-04 12:44
Osiris schreef op woensdag 23 november 2005 @ 12:55:
[...]

De TS wil een ándere pagina GET-ten, waarbij hij een cookie nodig heeft om bijv zn sessie-ID door te geven.. Heeft dus niets met setcookie te maken.
Precies.

Tot nu toe in ieder geval bedankt voor de antwoorden, ik ga het allemaal even doorlezen.

Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Hiervoor moet je bij mijn beste weten een socket openen en zelf met de webserver babbelen. Dan kun je inderdaad in een header de cookieinformatie meezenden. Je moet dat alleen niet met de header functie van PHP doen (die stuurt een header naar degene die jouw pagina bezoekt).

Voor aanwijzingen kun je kijken naar de PHP functie fsockopen(). Verder moet je je misschien wat verder verdiepen in het HTTP protocol om uit te zoeken hoe je hiermee cookiedata naar de server verstuurt.

edit:
Of je gebruikt idd CURL, wat er speciaal voor gemaakt is :)

[ Voor 7% gewijzigd door T-MOB op 23-11-2005 12:59 ]

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Ah ok, mijn fout. Ik dacht dat er bij een GET ook een header (met cookie) werd gestuurd. :)

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • mcdronkz
  • Registratie: Oktober 2003
  • Laatst online: 16-04 12:44
T-MOB schreef op woensdag 23 november 2005 @ 12:56:
Hiervoor moet je bij mijn beste weten een socket openen en zelf met de webserver babbelen. Dan kun je inderdaad in een header de cookieinformatie meezenden. Je moet dat alleen niet met de header functie van PHP doen (die stuurt een header naar degene die jouw pagina bezoekt).

Voor aanwijzingen kun je kijken naar de PHP functie fsockopen(). Verder moet je je misschien wat verder verdiepen in het HTTP protocol om uit te zoeken hoe je hiermee cookiedata naar de server verstuurt.
Ohja, je hebt inderdaad gelijk. Ik weet wel enigzins hoe het HTTP protocol werkt, maar daar ga ik me dan maar even verder in verdiepen.

Dan kan ik natuurlijk gewoon alle headers gebruiken die ik maar wil.

Of ik ga me inderdaad wat verder verdiepen in CURL 8)

[ Voor 4% gewijzigd door mcdronkz op 23-11-2005 13:01 ]


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
RFC 2616, HTTP 1.1 RFC, nuttig leesvoer :) (als je besluit om geen CURL te gebruiken that is, CURL is stukken handiger IMO :))

[ Voor 30% gewijzigd door Osiris op 23-11-2005 13:06 ]


Acties:
  • 0 Henk 'm!

  • mcdronkz
  • Registratie: Oktober 2003
  • Laatst online: 16-04 12:44
Klopt het, dat cURL alleen cookies uitleest in het Netscape Formaat, en dat 'ie m'n IE cookies niet begrijpt ?

-edit-

Dit heb ik nu;

PHP:
1
2
3
4
5
6
7
<?php
$ch = curl_init("http://www.brommerforum.nl/");
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE,"c:\bfcookie.txt");
curl_exec($ch);
curl_close($ch);
?>


Ik krijg de volgende header:

code:
1
2
3
4
5
6
7
8
9
10
11
HTTP/1.1 200 OK
Date: Wed, 23 Nov 2005 17:16:57 GMT
Server: Apache/2.0.54 (Gentoo/Linux) mod_watch/4.3 mod_ssl/2.0.54 OpenSSL/0.9.7d PHP/4.4.0-pl1-gentoo
X-Powered-By: PHP/4.4.0-pl1-gentoo
Set-Cookie: PHPSESSID=f88332b36185aa7435be939be21d3e60; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: bf4_lastv=1132766217; expires=Fri, 23 Dec 2005 17:16:57 GMT; path=/
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-1


Lijkt er dus op dat die cookie niks uithaalt ? Ik zou toch die Set-Cookie niet moeten krijgen ?

-edit2-

Woohoo ! Ik ben ingelogd ! Nu nog even een mooi scriptje schrijven om precies te doen wat ik wil.

Mocht ik problemen tegenkomen, post ik het hier.

Bedankt iedereen.

[ Voor 93% gewijzigd door mcdronkz op 23-11-2005 19:10 ]

Pagina: 1