2009-12-28 4 views
0

PHP를 사용하여 서버에서 서버로 파일을 원격 복사하려고합니다. 파일이 들어 서버는 그래서 내가 같이, 내 요청에 승인 (사용자/패스)를 넣어, 인증을 필요로 : 열린 소켓 연결 $fp=fsockopen (....쿠키를 원격 양식으로 가져 오기

2는이 같은 요청을 설정

1

:

fputs ($fp, $request); 

t : 추천

$request = POST . " " . $url . " HTTP/1.1" . $nn . "Host: " . www.example.com:80 . $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 . "Connection: Close" 

-3- 송신 요청 그의 의지는 작동하지만 웹 사이트가 SESSION을 사용할 때 브라우저에 쿠키를 보내고 브라우저가 웹 사이트의 어떤 것을 원할 때마다 웹 사이트 서버는 쿠키를 확인하고 응답합니다.

PHP 코드로 원격 서버에 요청할 때 (예 : 쿠키를 저장할 브라우저가 없음) 원격 서버에서 보내는 쿠키를 받고 저장하려면 어떻게해야합니까? 내 요청에 쿠키를 사용하는 방법을 알고

는, 그냥 같은 내 요청에 쿠키를 포함

 $request = POST . " " . $url . " HTTP/1.1" . $nn . "Host: " . www.example.com:80 . $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 . $cookies . "Connection: Close" 

는 내가받을 수있는 방법을 알고 쿠키를 저장하지 않는 :(

아이디어는

1 쿠키없이 첫 번째 요청을 보낼 것입니다

2 수신 및 저장 쿠키

3 쿠키와 함께 요청을 보내고 :)

어떻게 할 수 있습니까?

또 다른 제안 : 내가 헤더에서 쿠키를 읽을 수 있습니다에서 모습이 하나

HTTP/1.1 302 이전 일시적으로 콘텐츠 길이 : 0 콘텐츠 형식 : text/html 서버 : 일-ONE-웹 - 서버/6.1 날짜 : 2009년 12월 28일 (월) 그리니치 표준시 11시 01분 5초 설정 - 쿠키 : ERIGHTS = VQPFIWEdiYEtW4Eko2T3bikz4H2dDx2FtH-zlTTRFyzW + urkCU7bwGj2w의 ==, 경로 = /; 도메인 = .example.org 설정 - 쿠키 : WLSESSION = 1512202892.20480가 .0000; expires = Tue, 29-Dec-2009 11:01:06 GMT 경로 =/위치 : http://example.org/example

답변

1

Zend_HTTP을 사용 해본 적이 있습니까? 아주 좋은 쿠키 처리 기능을 가지고 있습니다.

$client = new Zend_HTTP_Client(); 
$client->setCookieJar(); //now all cookies are stored for this Zend_HTTP_Client 
관련 문제