php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.04.2005, 16:58  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 306
DerDesian
Standard Cookie fangen

Hi,

hab eine Seite über eine Anfrage per Socked geladen.
Code:
	function getDocumentContent($url, $port=80, $proxy=null, $method='GET', $dataFields=null) {
		$content		= null;
		$data_to_send	= '';
		$host			= Crawler::getDomainFromUrl($url);
		if(empty($proxy)) {
			$proxy = $host;
		}
		$socket = fsockopen($proxy, $port);

		if($socket) {
			socket_set_timeout($socket, 5);
			
			if(is_array($dataFields)) {
				foreach($dataFields as $key => $value) {
					$data_to_send[] = $key.'='.$value;
				}
				$data_to_send = implode('&', $data_to_send);
			}
			
			if($method == 'GET') {
				$getString = 'GET '.$url." HTTP/1.0\r\nHost: ".$host."\r\n\r\n";
				fputs($socket, $getString);
			} else if($method == 'POST') {
				fputs($socket, "POST ".$url." HTTP/1.1\r\n");
				fputs($socket, "Host: ".$host."\r\n");
				fputs($socket, "Referer: www.eine-domain.de".$host."\r\n");
				fputs($socket, "Content-type: application/x-www-form-urlencoded\r\n");
				fputs($socket, "Content-length: ". strlen($data_to_send) ."\r\n");
				fputs($socket, "Connection: close\r\n\r\n");
				fputs($socket, $data_to_send);
			}

			while($line = fgets($socket)) {
				$content .= $line;
			}
			fclose($socket);
		} 
		return $content;
	}
Ziel ist es bei einer Suchmaschiene eine Anfrage zu starten und den 'Weiterknopf' zu drücken. Aber irgendwie bekomme ich nur wieder die Startseite. Also irgendein deafautl, weil ich einen Wert übersehen hab.
Die ganzen INPUTs lese ich schon dynamisch raus und schick sie wieder mit. Das geht also so weg, als würde ich das händisch eingeben und klicken. Nu hab ich aber den Verdacht, dass das da noch ein Cookie abgefragt wird.
Und nu würd ich gern wissen ob die Seite einen Cookie setzt. Dazu brauch ich ne Möglichkeit das abzufragen. Und die kenn ich leider nicht.
Wie kann man den abfangen?
Wie bekomme ich heraus, ob die Seite den wiederhaben will?
Soll ich den dann obligatorisch wieder mitschicken?
Und wie mache ich das? (cookie_set(), auch hier?)

Gruß
Der Desian
__________________
Wenn dich was ankotzt, machs besser.
DerDesian ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.04.2005, 17:03  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

www.php.net/curl
robo47 ist offline  
Alt 11.04.2005, 17:07  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 306
DerDesian
Standard

Sry, aber das wollte nicht, als ich die Firewall überwinden wollte. Fällt also aus.
Gibts ne andere Möglichkeit?
Vieleicht auch eine, die mit worten verständlich geschrieben ist?
__________________
Wenn dich was ankotzt, machs besser.
DerDesian ist offline  
Alt 11.04.2005, 17:10  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

:P fällt mir auf anhieb nicht ein, aber mal den traffic (die header) anschauen die du geschickt bekommst über die verbindung. ein cookie müsste ja auch auf diese weise ankommen.

mfg
robo47
robo47 ist offline  
Alt 11.04.2005, 17:16  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 306
DerDesian
Standard

Arg.....
Ja klar! Verdammt! Den hab ich am Anfang immer rausgeschnitten.
Da steht je Zeile für Zeile:
Set-Cookie: asdasdasd@sdfasdasda dadidumdida!

Gut, jetzt hab ich ihn, die Cookies auch.
Wie schick ich das Ding?
tut da 'setcookie()'?
Ja, ich teste es gleich aber vieleicht gibt es ja was zu beachten, woran man auf anhieb nicht denkt...

Gruß
Der Desian
__________________
Wenn dich was ankotzt, machs besser.
DerDesian ist offline  
Alt 11.04.2005, 17:43  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

ich würde mal sagen du musst ihn an den server senden, nciht lokal eintragen, weil php fragt ja ab, nicht dein browser dirkt.
daher wirst du dich durch die passenden RFC's wühlen müssen, sprich in der art wie du hier

fputs($socket, "Connection: close\r\n\r\n");

dinge überträgst, müsstest du den cookie auch dann mit übertragen.

denke ich :P bin mir da aber nicht sciher

mfg
robo47
robo47 ist offline  
Alt 11.04.2005, 22:27  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 306
DerDesian
Standard

ich habs gefunden.

einfach noch ein.
fputs($socket, "Vookie:: ".$cookieValue."\r\n");
Nur für mehrere hat das nicht funktioniert, da der Server der Suchmaschiene ein Problem hatte.
Der hatte eigene cgi-cpp librarys und da hat er die Cookies mit ', ' zusammengesetzt und das ' ' war ein 'Banned symbol'.
Naja, selbst ausgetrickst und die, die es nutzen wollen müssen einen weiteren Weg suchen...
Später vieleicht, jetzt gild es mal schnell 11.00 Seiten zu spidern und 200.000 DB-Einträge zu produzieren
__________________
Wenn dich was ankotzt, machs besser.
DerDesian ist offline  
Alt 11.04.2005, 23:39  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Vookie ? der Chewbacca aus star wars war ein Wookie oder? :P gar ned gewußt dass der in php veerwigt ist :P muss wohl öfters star wars schauen, das hilft den php-skills :P so und jetzt rausch ausschlafen :P
robo47 ist offline  
Alt 01.06.2009, 11:49  
Neuer Benutzer
 
Benutzerbild von wookie
 
Registriert seit: 12.05.2009
Beiträge: 6
wookie befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Vookie ? der Chewbacca aus star wars war ein Wookie oder? :P gar ned gewußt dass der in php veerwigt ist :P muss wohl öfters star wars schauen, das hilft den php-skills :P so und jetzt rausch ausschlafen :P
och, php mach ich schon länger ^^
wookie ist offline  
Alt 01.06.2009, 14:23  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Huch, seit wann kann der sprechen. Der hat doch sonst immer gegurgelt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Cookie löschen funktioniert nicht GSJLink PHP Tipps 2007 2 24.01.2007 14:55
Autologin mit Cookie, wie? Beste Lösung? PHP-Fortgeschrittene 17 16.02.2006 14:03
Cookie setzten funktioniert nicht!? nicobischof PHP Tipps 2006 13 06.01.2006 13:38
Cookie DER_Brain PHP Tipps 2005-2 4 27.06.2005 17:49
Cookie löschen tomtaz PHP Tipps 2005-2 3 06.06.2005 20:50
[Erledigt] cookie funkioniert nur von einer bestimmten Seite PHP Tipps 2005 2 19.04.2005 07:41
Browser abfragen, ob ein Cookie gesetzt werden kann PHP Tipps 2005 9 11.04.2005 18:24
Cookie - Random-Code (nicht identisch) pixelcut PHP-Fortgeschrittene 6 22.03.2005 23:13
cookie problem PHP Tipps 2005 5 08.03.2005 21:22
cookie wird nicht gesetzt - ( vorher KEINE ausgabe ) PHP Tipps 2005 4 14.02.2005 13:34
Problem mit Cookie Anuschka PHP Tipps 2004-2 6 26.12.2004 03:12
Cookie bis nächsten Montag gültig machen Magic PHP Tipps 2004-2 2 09.12.2004 18:21
[Erledigt] Cookie / localhost / Problem gelöst PHP-Fortgeschrittene 11 02.11.2004 22:41
eval und Cookie PHP Tipps 2004 4 27.10.2004 23:00
[Erledigt] cookie bei erster aktualisierung auslesen... PHP Tipps 2004 3 09.06.2004 09:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fputs cookie, php socket cookie, fputs cookies, php fputs cookie, php \fputs cookie\, cookies per socket übertragen php, cookie socket, cookies fangen, cookie codeschnipsel, fputs mehrfache posts, php sockets cookies, socket get cookie, php cookie per socket connection setzen, mit php cookies einfangen, vookies, wie sehe ich ob eine seite cookies setzt, php fputs cookies, fputs cookie:, wookie, php cookie port

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.