2014-10-07 2 views
0

그래서이 작은 API를 http post 메소드를 통해 만들려고합니다. 그러나 나는 여기서 거의 문제에 직면하고 있지 않다. domain.com/smsapp/service ....으로 http 호출을하기 위해이 코드를 사용하고 있습니다. - 부울 false 무엇이 잘못되었을 수 있습니다. ? 나는 무엇이 잘못 될 수 있는지 전혀 모른다.cURL을 통한 간단한 http 호출은 false를 반환합니다.

function sendSMS($message,$number) 
{ 
    $id = "Dogbag"; 
    $service = "sms_api_call_receiver.php"; 
    $userip = $_SERVER['REMOTE_ADDR']; 
    /*** Build the request parameters ***/ 
    $request="Send-Sms"; 
    $u="http://www.domain.com/smsapp/$service?id=$id" . "&message=" . $message . "&number=$number" . "&ip=" . $userip; 
    $result = sendPost($u, $request); 
    var_dump($u); 
    return $result; 
}//function 

function sendPost($Url, $strRequest) 
{ 
    // Initialisation 
    $ch=curl_init(); 
    // Set parameters 
    curl_setopt($ch, CURLOPT_URL, urlencode($Url)); 
    // Return a variable instead of posting it directly 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    // Active the POST method 
    curl_setopt($ch, CURLOPT_POST, 1) ; 
    // Request 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $strRequest); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 2); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
    // execute the connexion 
    $result = curl_exec($ch); 
    // Close it 
    curl_close($ch); 
    return $result; 
} 

sms_api_call_receiver.php

if(isset($_GET['message'])) 
{ 
    mail("[email protected]", "got", "message"); 
} 

는 나도 어떤 메시지 나 오류를 얻을. 부울 false 만받습니다. 이에 대한 제안 사항에 감사드립니다.

+2

컬 오류에 false를 반환합니다. 'curl_error ($ ch)'를 체크하여 에러에 관한 세부 사항을 얻는다. –

+0

@MarcB 수사가 이것을 반환했습니다. '호스트를 확인할 수 없습니다 : (nil); 호스트를 찾을 수 없습니다. ' 하지만 내 URL이 유효하다는 것이 확실합니다. – user2619381

+2

전체 URL을 URL로 인코딩했습니다. 'http : //'를'http % 3A % 2F % 2F' (으)로 바꾸면 이제는 URL이 아닙니다. –

답변

0

이 변경 시도 : 를 기능 SendSMS에 -

$u="www.domain.com/smsapp/$service?id=$id" . "&message=" . $message . "&number=$number" . "&ip=" . $userip; 

하고이 기능 sendPost에 -

curl_setopt($ch, CURLOPT_URL, "http://" . urlencode($Url)); 
+0

나는 여전히 같은 오류가 발생합니다. – user2619381

관련 문제