Je voulais copier des fichiers à partir d'un serveur distant, mais il semble que l'hôte distant utilise la session, et a besoin de cookies.copier des données à partir du serveur distant - J'ai un problème
bien j'utilisé cette méthode après la définition des variables ...
$url="http://example.org/exmple.mp3";
$nn = "\r\n";
$cookies="";
$request = GET . " " . str_replace (" ", "%20", $url) . " HTTP/1.1" . $nn . "Host: " . $host . $nn . "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14" . $nn . "Accept: */*" . $nn . "Accept-Language: en-us;q=0.7,en;q=0.3" . $nn . "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7" . $nn . "Pragma: no-cache" . $nn . "Cache-Control: no-chache" . $nn . $proxyauthorization . $referer . $cookies . "Connection: Close";
$fp= socksopen($Proxy,$port, $errno, $errstr, 15);
socket_set_timeout ($fp, 120);
fputs ($fp, $request);
fflush ($fp);
//read header
$i = 1;
do {
$header.= @fgets ($fp, 128);
$i++;
} while (strpos ($header, $nn . $nn) === false);
echo $header;
fclose ($fp);
maintenant j'ai l'en-tête avec les cookies que l'URL dit:
HTTP/1.1 302 Moved Temporarily Content-length: 0 Content-type: text/html Server: Sun-ONE-Web-Server/6.1 Date: Mon, 28 Dec 2009 13:40:53 GMT Set-cookie: ERIGHTS=5YAaxxmNsMuTK87E1TCAohwDRuyqBaCgM-oehmg24bkzHplCtmgn7zMA==;path=/;domain=.example.org Set-cookie: WLSESSION=1528980108.20480.0000; expires=Tue, 29-Dec-2009 13:40:52 GMT; path=/ Location: http://example.org/exmple.mp3&tag=1 Via: 1.1 proxy-server1 Proxy-agent: Sun-Java-System-Web-Proxy-Server/4.
alors je l'ai fait un peu de code piqûre et construit ceci dans le code:
$cookies="ERIGHTS=5YAaxxmNsMuTK87E1TCAohwDRuyqBaCgM-oehmg24bkzHplCtmgn7zMA==, WLSESSION=1528980108.20480.0000";
re-demandant l'URL avec même moi Thod mentionné ci-dessus et encore j'ai même en-tête avec un autre des cookies
Il coutures que le site distant me traite comme un premier temps visiteur à chaque fois et définit de nouveaux cookies gagner
ce qui est faux?
merci :), je veux savoir ce que je fais, en utilisant cURL, je suis aveugle ........ la différence entre ce que j'ai dit et u est un espace, j'ai inclus un espace mien: ... n7zMA ==, WLSESSION = 1528 ... le vôtre: n7zMA ==, WLSESSION = 1528 est-ce le problème? – Alireza
même résultat: l'en-tête dit: HTTP/1.1 302 Déplacé temporairement Longueur du contenu: 0 Type de contenu: text/html Serveur: Sun-ONE-Web-Server/6.1 Date: Ven, 01 Jan 2010 03:30:17 GMT Set-cookie: ERIGHTS = x2BFYIx2BVvODdWm9hREdxxH2PYux2Ff3BSmqQ9-hhBHcMigRXArbhL4YBG81w ==; chemin = /; domaine = .exemple.org Set-cookie: WLSESSION = 1562534540.20480.0000; expires = Sat, 02-Jan-2010 03:30:18 GMT; chemin =/Lieu: http: //example.org/example.mp3&tag=1 le serveur l'envoie en-tête avec de nouveaux cookies !! – Alireza
Eh bien, la différence entre votre code d'origine et le mien est que le vôtre n'a pas "Cookie:" au début des cookies $. Cela signifie que les cookies ne sont pas reconnus comme cookies. Les espaces entre plusieurs cookies dans un seul en-tête sont facultatifs. –