php
  • curl
  • response
  • 2012-04-24 2 views 0 likes 
    0

    다른 웹 서버에 요청을 보내려는 경우 cURL을 사용하고 있습니다. 나는 내가 필요로하는 응답을 볼 수 있습니다 와이어 샤크로 만든 networkcapture 볼 때 결과가 비어있는 것을 알 수cURL : 핸들 응답 : 줄 기반 텍스트 데이터

    function currentStatePlaying($ip){ 
    $url = "http://".$ip."/?track=ginfo"; 
    $agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)'; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_VERBOSE, true); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    $result = curl_exec($ch); 
    curl_close($ch); 
    echo $result; 
    } 
    

    :

    내가 요청을 설정으로 사용하고 보낼 수있어 코드입니다. 그것은 라인 기반 텍스트 데이터로 httppacket에 내장되어 있습니다 : text/html

    제 질문은 다음과 같습니다 : 어떻게이 데이터에 액세스 할 수 있습니까?

    편집

    : 서버의 응답이 제대로 형성되지

    +0

    원하는 응답을 헤더 내에 넣었습니까? cURL에서 디버그 정보를 추가 할 수 있습니까? –

    +0

    @Jack 스크린 샷을 추가했습니다. 컬에서 디버그 정보를 얻는 방법을 모르겠습니다. – Tobrun

    +0

    형식이 잘못된 응답처럼 보입니다. 머리글은 두 줄의 새로운 줄로 끝나지만 한 줄만 보았습니다. 그게 문제의 근원 인 것 같습니다. –

    답변

    1

    : 여기 내 패킷의 스크린 샷이다. (

    HTTP/1.0 200 OK\r\n 
    Content-Type: text/html\r\n 
    \r\n 
    The content goes here 
    

    이미 컬에서 디버그 모드를 활성화 한 curl_setopt(CURLOPT_VERBOSE, 1) 가짐으로써, 그러나 아마 당신은 또한 응답이 변경 될 수없는 경우 알려 할 curl_setopt(CURLOPT_STDERR, "php://output")

    이 있어야합니다 : 그것은이 같은해야한다 그것은 꽤 나쁘다).

    +0

    응답 해 주셔서 감사합니다. – Tobrun

    관련 문제