Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/03/2006, 17h49   #1
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 1
Points : 1
Par défaut Emulation de navigateur

Bonjour à tous!
J'aimerais savoir si vous pouviez me dire ce qui ne va pas à propos d'un programme que j'essaie de faire en PHP. Je vous explique juste la situation : je joue à un jeu qui s'appelle Lord Of Castle (eh oui, il faut bien que je m'amuse un peu ), qui se joue avec un navigateur. Or, je ne peux me connecter que le soir : je ne suis donc pas très bon (il faut se connecter tous les matins, midis et soirs au minimum). J'ai donc décider de faire un programme PHP qui simule un navigateur et peut jouer à ma place suivant un schéma déterminé. Le seul problème est que ça ne marche pas : le programme se bloque lors de la connection au serveur... Pourriez vous me donner des conseils si vous savez ce qu'il se passe??

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
	class LOCConnection {
		var $pseudo;
		var $password;
		var $phpsessid;
		function LOCConnection($pseudo, $password) {
			$this->pseudo = $pseudo;
			$this->password = $password;
		}
 
		function setPseudo($pseudo) {
			$this->pseudo = $pseudo;
		}
		function setPassword($password) {
			$this->password = $password;
		}
		function getPseudo() {
			return $this->pseudo;
		}
		function getPassword() {
			return $this->password;
		}
		function connect() {
 
		}
		function getSessionID() {
			return $this->phpsessid;
		}
		function setSessionID() {
			$socket = fsockopen("www.lordofcastle.com", 80, $errno, $errstr, 10);
			if (!$socket) {
    			echo "Error : $errstr ($errno)<br />\n";
			} else {
				$in = "GET /index.php HTTP/1.1\r\n";
				$in .= "Host: www.lordofcastle.com\r\n";
				$in .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1\r\n";
				$in .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
				$in .= "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
				$in .= "Accept-Encoding: gzip,deflate\r\n";
				$in .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
				$in .= "Keep-Alive: 300\r\n";
				$in .= "Connection: keep-alive\r\n";
				$in .= "Referer: http://www.lordofcastle.com/\r\n";
				print "$in";
				$out = '';
				while (!feof($socket)) {
				fwrite($socket, $in);
					$out = fgets($socket, 4096);
					print "$out";
					if(($start = stripos($out, "Set-Cookie: PHPSESSID=")) != false) {
						$this->phpsessid = substr($out, $start + 22, 32);
						break;
					}
				}
				fclose($socket);
			}
		}
	}
?>
Merci d'avance!
ThunderFX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 18h09   #2
Membre éclairé
 
Avatar de nicoaix
 
Homme
Chef de projet MOA
Inscription : décembre 2004
Messages : 561
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2004
Messages : 561
Points : 325
Points : 325
C'est malheureusement pas aussi simple. Le problème c'est l'ID de session. Je ne pense pas que ce soit compatible avec la fonction fsockopen.
Essaie plutot en utilisant la librairie http de PEAR.
nicoaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 20h14   #3
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 1
Points : 1
Pourquoi ça ne serait pas compatible avec fsockopen()? C'est bizarre, puisque c'est juste une chaîne de caractères que la page transmet avec "Set-Cookie", donc normalement ça devrait marcher... En plus, je compte installer ça sur un compte free et je ne sais pas si on peut utiliser PEAR. Quelqu'un le sait?
ThunderFX est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h27.


 
 
 
 
Partenaires

Hébergement Web