원격 서버에서 파일을 복사하려고했지만 원격 호스트가 세션을 사용하고 있으며 쿠키가 필요합니다.원격 서버에서 데이터 복사 - 문제가 있음
다음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.
좀 따끔 코드를했고, 내장 : 나는 정의 변수 후이 방법 을 사용 잘
...
$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);
는 지금은 URL 말했다 쿠키 헤더를 가지고 코드의 내용 :
$cookies="ERIGHTS=5YAaxxmNsMuTK87E1TCAohwDRuyqBaCgM-oehmg24bkzHplCtmgn7zMA==, WLSESSION=1528980108.20480.0000";
같은 날 나와 함께 URL을 다시 요청하십시오. 위에서 언급 한 THOD 다시 내가
그것은 원격 웹 사이트가 처음 방문자로 할 때마다 저를 치료하고 새로운 쿠키
잘못 무엇을 얻을 설정 솔기 다른 쿠키와 같은 헤더를 가지고있다?
감사를 설정해야 할 것 같습니다 ... n7zMA == WLSESSION = 1,528 ... 네 : n7zMA == = 1,528 WLSESSION 그 문제 – Alireza
동일한 결과? 전 공간 내 포함 된 I 및 상기 유, 공간 인 것 사이의 차이 : 헤더는 말한다 : HTTP/1.1 302 이전 일시적으로 콘텐츠 길이 : 0 콘텐츠 형식 : text/html 서버 : 일-ONE-웹 서버/6.1 날짜 : 2010년 1월 1일 (금) 그리니치 표준시 03시 30분 17초 설정 - 쿠키 : ERIGHTS = x2BFYIx2BVvODdWm9hREdxxH2PYux2Ff3BSmqQ9-hhBHcMigRXArbhL4YBG81w ==; 경로 = /; 도메인 = .example.org 설정 쿠키 : WLSESSION = 1562534540.20480.0000; 만료 = 2010 년 2 월 1 일 3시 30 분 18 초 GMT; path =/위치 : http : //example.org/example.mp3&tag=1 서버가 동일한 전송 새로운 쿠키가있는 헤더 !! – Alireza
글쎄, 원래 코드와 다른 점은 당신이 $ 쿠키의 시작 부분에 "쿠키 :"를 가지고 있지 않다는 것입니다. 즉 쿠키가 쿠키로 인식되지 않습니다. 단일 헤더의 여러 쿠키 사이의 공백은 선택 사항입니다. –