2009-10-09 7 views
0

Google 리더 항목의 읽지 않은 횟수를 가져 오는이 함수를 작성했습니다.Google 리더 읽지 않은 횟수

function GetUnread($sid) 
{ 
    $url = "http://www.google.com/reader/api/0/unread-count?all=true&output=xml"; 
    $msg = urldecode($msg); 
    $msg = stripslashes($msg); 
    $msg = urlencode($msg); 
    $url = $url . $msg; 

    $purl = parse_url($url); 
    $uri = $purl['scheme'] . "://" . $purl['host'] . $purl['path'] . "?" . $purl['query']; 

    $cookie = "Name=SID;SID=" . $sid . ";Domain=.google.com;Path=/;Expires=16000000"; 

    $headers = array(); 
    array_push($headers, "GET " . $uri . " HTTP/1.0"); 
    array_push($headers, "Host: " . $purl['host']); 
    array_push($headers, "Referer: " . $uri); 
    array_push($headers, "Cookie: " . $cookie); 
    array_push($headers, ""); 
    $headers = implode("\r\n", $headers); 

    echo $headers; 

    $conn = fsockopen($purl['host'], 80, $errno, $errstr, 30); 
    if ($conn) 
    { 
     fputs($conn, $headers); 
     $response = ""; 
     while (!feof($conn)) //Appears to loop indefinitely until feof's timeout(60) 
     { 
      $response .= fgets($conn, 128); 
     } 
     fclose($conn); 
    } 

    echo $response; 
} 

이 같은 생산 살펴 헤더 :

GET http://www.google.com/reader/api/0/unread-count?all=true&output=xml HTTP/1.0 
Host: www.google.com 
Referer: http://www.google.com/reader/api/0/unread-count?all=true&output=xml 
Cookie: Name=SID;SID=DQA...zA;Domain=.google.com;Path=/;Expires=16000000 

그것은 단지 거기에 앉아 한 번 완료 로딩이 응답 문자열이없는가. 헤더 나 fsockopen에 문제가 있습니까?

답변

0

먼저 URL (google.com을 사용해보십시오)을 단순화 해보십시오. 그 사람이 응답을 반환하면 인증 문제가 발생할 수있는 가능성이 있습니다.

+0

나는 모든 종류의 조합을 시도했다. 나는 cUrl을 사용하여 끝냈다. – woody993

관련 문제