file_get_contents-빈 응답 (PHPSESSID)

디몬 222

PHP 코드로 일부 웹 페이지를 다운로드하려고합니다.

$context_params = array('http' => array('method' => 'GET',
'user_agent' => 'Mozilla/5.0', 
'timeout' => 1, 
'header' => "Accept-language: en".
"Cookie:       site=blabla1234567cookie; 
               __cf=cookie12345678; 
          PHPSESSID=phpsessidcookie;"));

$context = stream_context_create($context_params);
$html = file_get_contents($url, FALSE, $context);

웹 서버는 쿠키를 확인하여 사용자를 확인합니다. 컨텍스트에 올바른 클라이언트 쿠키를 삽입했지만 PHPSESSID가 만료되면 (~ 1 시간?) file_get_contents가 빈 페이지를 반환합니다. 웹 브라우저에서 PHPSESSID 쿠키를 삭제하려고했는데 웹 페이지를로드하자마자 새로운 PHPSESSID 쿠키가 생성되었습니다. 다시 로그인 할 필요가 없었습니다. 그런 다음 스크립트에서 PHPSESSID 쿠키를 제거하려고 시도했지만 이제 file_get_contents가 빈 페이지를 반환합니다.

이 스레드 를 확인하려고했지만 어쨌든 도움이되지 않았습니다. 여전히 빈 페이지를 반환하고 스크립트에 session_id () 및 session_name ()을 삽입하자마자 print_r () / var_dump / echo로 컨텍스트 배열을 인쇄 할 수 없습니다. (너무 큰가요?)
session_write_close ()는 차이가 없습니다.
모든 쿠키를 제거하면 문제없이 페이지를로드하지만 로그인하지 않았습니다.
var_dump / echo로 빈 페이지에 대한 응답을 읽으려고했는데 둘 다 file_get_contents 바로 뒤에 $ http_response_header에서 BLANK를 반환합니다.

이론적으로 PHPSESSID는 원격 서버에서 생성되어 쿠키와 IP 주소에 따라 클라이언트로 전송 될 수 있습니다 (이는 내 컴퓨터에서 작동하는 이유를 설명하지만 내 VPS에서는 작동하지 않음). 그러나 PHPSESSID는 자신의 IP 주소와 관계없이 클라이언트 시스템에서 생성되어야하지 않습니까?

질문 : PHP 스크립트의 컨텍스트에 대한 새로운 올바른 PHPSESSID를 자동으로 생성 / 설정 / 갱신하려면 어떻게해야합니까?

편집 : file_get_contents를 사용하고 싶습니다. cURL 솔루션에는 전혀 관심이 없습니다.

디몬 222

해결책을 찾았습니다.

해결 방법 : 각 쿠키 끝에 \ r \ n을 추가하십시오. 그렇지 않으면 구조가 손상되고 원격 서버가 불평 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

file_get_contents-빈 응답 (PHPSESSID)

분류에서Dev

PHP file_get_contents() and PHPSESSID

분류에서Dev

Chrome에서 PHP Curl / file_get_contents 불일치 응답 시간

분류에서Dev

경로의 laravel file_get_contents가 응답을받지 못함

분류에서Dev

XMLHttpRequest의 빈 응답

분류에서Dev

file_get_contents : 오류 발생시에도 전체 응답 받기

분류에서Dev

file_get_contents가 빈 예외로 인해 실패 함

분류에서Dev

Angular JS의 HTTP Get 요청이 빈 응답을받습니다.

분류에서Dev

Vapor 클라이언트의 빈 바디 GET 응답

분류에서Dev

Facebook Graph의 빈 응답

분류에서Dev

RX Alamofire Swift 빈 응답 JSON

분류에서Dev

file_get_contents를 사용하여 실패시 응답 본문을 가져옵니다.

분류에서Dev

반응이있는 API의 빈 응답

분류에서Dev

Laravel Guzzle은 Get () 메서드에서 빈 응답을 반환합니다.

분류에서Dev

응답 본문에 쓸 때 빈 헤더 및 응답 본문

분류에서Dev

github 작업의 HTTP 응답에 빈 응답 본문

분류에서Dev

axios에서 빈 응답 받기

분류에서Dev

백본-서버의 빈 응답 처리

분류에서Dev

PHP 단순 XML 파서, 빈 응답

분류에서Dev

빈 포스트 응답 아약스

분류에서Dev

cURL 요청에 대한 빈 응답 PHP

분류에서Dev

Python의 Azure Billing API-빈 응답

분류에서Dev

Google Chrome Mobile에서 Ajax Call 빈 응답

분류에서Dev

Retrofit get String 응답

분류에서Dev

Angular2-jwt, JWT 토큰이 없을 때 GET / POST 응답에서 빈 오류가 발생 함

분류에서Dev

HTTP 응답 유형이 201 CREATED 인 경우 빈 응답을 반환하는 QNetworkReply

분류에서Dev

빈 매개 변수에 대한 JSON 응답

분류에서Dev

빈 매개 변수에 대한 JSON 응답

분류에서Dev

봄 부팅 통합 테스트 빈 몸 응답 - MockMvc을

Related 관련 기사

뜨겁다태그

보관