2017-04-07 5 views
0

私はfile_get_contentsをcurl(sipgate voip account)に置き換えたいと思いますが、すべてのtryoutは機能しません。コンテキストでfile_get_contentsの代わりにcurl

バージョンのMITのfile_get_contents:カール

$requestParameter = array(
    'RemoteUri' => sprintf('sip:%[email protected]', $remoteUri), 
    'LocalUri' => sprintf('sip:%[email protected]', $localUri), 
    'TOS' => 'voice' 
); 
    $auth = base64_encode(sprintf('%s:%s', $username, $password)); 
    $request = xmlrpc_encode_request("samurai.SessionInitiate", $requestParameter); 
    $context = stream_context_create(
    array('http' => array(
     'method' => "POST", 
     'header' => sprintf("Content-Type: text/xml\r\nAuthorization: Basic %s)", $auth), 
     'content' => $request 
    )) 
); 
    $url = 'https://api.sipgate.net/RPC2'; 
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $context); 
    curl_exec($curl); 
    curl_close($curl); 

$requestParameter = array(
    'RemoteUri' => sprintf('sip:%[email protected]', $remoteUri), 
    'LocalUri' => sprintf('sip:%[email protected]', $localUri), 
    'TOS' => 'voice' 
); 
    $auth = base64_encode(sprintf('%s:%s', $username, $password)); 
    $request = xmlrpc_encode_request("samurai.SessionInitiate", $requestParameter); 

    $url = 'https://api.sipgate.net/RPC2'; 
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
    curl_setopt($curl, CURLOPT_USERPWD, $auth); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $request); 
    curl_exec($curl); 
    curl_close($curl); 

$requestParameter = array(
    'RemoteUri' => sprintf('sip:%[email protected]', $remoteUri), 
    'LocalUri' => sprintf('sip:%[email protected]', $localUri), 
    'TOS' => 'voice' 
); 
    $auth = base64_encode(sprintf('%s:%s', $username, $password)); 
    $request = xmlrpc_encode_request("samurai.SessionInitiate", $requestParameter); 
    $context = stream_context_create(
    array('http' => array(
     'method' => "POST", 
     'header' => sprintf("Content-Type: text/xml\r\nAuthorization: Basic %s)", $auth), 
     'content' => $request 
    )) 
); 
    file_get_contents("https://api.sipgate.net/RPC2", false, $context); 

最新の入団テストが私のために誰かのアイデアを持って? Thxを、SPF

+0

に上記の名前のエラー? – mkaatman

+0

'CURLOPT_POSTFIELDS'はURLクエリフォーマットを受け入れます。 http://stackoverflow.com/questions/5224790/curl-post-format-for-curlopt-postfieldsを参照してください。 –

+0

残念ながら、エラーログは空です。おそらく、URLのログにはエントリがありますが、わかりませんでした。 –

答えて

0

PHPのエラーログには何の両方のバージョン

$requestParameter = array(
'RemoteUri' => sprintf('sip:%[email protected]', $remoteUri), 
'LocalUri' => sprintf('sip:%[email protected]', $localUri), 
'TOS' => 'voice' 
); 
$auth = base64_encode(sprintf('%s:%s', $username, $password)); 
$request = xmlrpc_encode_request("samurai.SessionInitiate", $requestParameter); 
$context = stream_context_create(
array('http' => array(
    'method' => "POST", 
    'header' => sprintf("Content-Type: text/xml\r\nAuthorization: Basic %s)", $auth), 
    'content' => $request 
    )) 
); 
$data = http_build_query($context); 
$url = 'https://api.sipgate.net/RPC2'; 
$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_POST, 1); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 
curl_exec($curl); 
curl_close($curl); 

$requestParameter = array(
'RemoteUri' => sprintf('sip:%[email protected]', $remoteUri), 
'LocalUri' => sprintf('sip:%[email protected]', $localUri), 
'TOS' => 'voice' 
); 
$auth = base64_encode(sprintf('%s:%s', $username, $password)); 
$request = xmlrpc_encode_request("samurai.SessionInitiate", $requestParameter); 

$data = http_build_query($request); 
$url = 'https://api.sipgate.net/RPC2'; 
$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($curl, CURLOPT_USERPWD, $auth); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_POST, 1); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 
curl_exec($curl); 
curl_close($curl); 
関連する問題