2014-12-16 2 views
1

인턴쉽을 위해 brandchecker를 만들고 있습니다. 그것의 부분 중 하나는 당신이 이름을 입력하는 곳이며, 사용자 이름이 찍혔는지 검사기가 트위터를 확인합니다. 이것은 (file_get_contents 내 서버에서 작동하지 않습니다) 내가 만든 코드입니다 :MySQL을 사용하지 않고 리소스 ID # 3

<?php 
$ch = curl_init(); 
$timeout = 0; 
curl_setopt ($ch, CURLOPT_URL, "https://twitter.com/users/username_available?username=".$z); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$twitter_contents = curl_exec($ch); 
curl_close($ch); 

echo $ch; 
?> 

$z은 내가 사용자 이름에 대한 페이스 북을 확인 코드 위에 정의된다. 그것은 사람들이 잠재적 인 회사 이름으로 입력하는 것으로 정의됩니다.

echo $ch;은 자원 ID # 3을 출력합니다. 어디에서나 사람들은 이것이 오류가 아니라 MySQL의 결과가 var_dump()을 통해 가져와야하는 것에 대해 이야기하고 있습니다. 그러나 보시다시피, 나는 MySQL에서 데이터를 가져 오지 않고 Twitter.com에서 가져옵니다.

Facebook 확인 프로그램은 cURL도 사용하며 완벽하게 작동합니다. 그리고 네, 다른 변수들로 $ch을 교환했습니다.

누구든지 내 문제를 해결할 수 있습니까?

편집 : 난 그냥 echo(var_dump($ch));을 시도하고, 당신은 잘못된 결과를 반향하고 resource(3) of type (Unknown)

답변

0

를 반환했습니다. 코드에서 다음 코드를 사용하여 $twitter_contents에 결과를로드하는 :

$twitter_contents = curl_exec($ch); 

이 당신의 반향을 변경하려는 경우를, 그것을 작동합니다 :

echo $twitter_contents; 

을 내 대답은 조금 설명하기 위해 more, $ ch는 실제 페이지를 반환하지 않는 함수 인 Curl입니다. 리소스를 반환하면 curl_exec은 페이지의 실제 내용을 가져 와서 결과를 변수에로드합니다. 그런 다음 다른 것을하기 위해 사용할 수 있습니다. 분명히 ..


좋아, 일부 의견 후에, 나는이 함께 와서 우리가 필요로 트위터 'CURLOPT_SSL_VERIFYPEER을'실종되었다 .. 좀 ...

$url = "https://twitter.com/users/username_available?username=test"; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    $result['contents']=curl_exec($ch); 
    $result['info']=curl_getinfo($ch); 
    curl_close($ch); 
    echo $result['contents']; 

을했다.

관련 문제