如何在提交curl php之前查看最终url

时间:2017-02-05 23:17:00

标签: php curl

我想在执行curl之前知道最终url以检查所需的所有参数传递。怎么看。

<?PHP
function openurl($url) {
    $ch=curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$postvars);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch,CURLOPT_TIMEOUT, '3');
    $content = trim(curl_exec($ch));  
    curl_close($ch); 
    echo $content;
}
$postvars = array('user' => "user123",'password' => "user@user!123",'Text' => "Test");
$sms_url ="http://remoteserver/plain";
openurl($sms_url);
?>

desired output to check all params and its values passing correct..
http://remoteserver/plain?user=user123&password=user@user!123&Text=TESThere

1 个答案:

答案 0 :(得分:0)

您忘记将$postvars作为参数添加到您的函数中。

function openurl($url, $postvars) {
    $ch=curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$postvars);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch,CURLOPT_TIMEOUT, '3');
    $content = trim(curl_exec($ch));  
    curl_close($ch); 
    echo $content;
}

$postvars = array('user' => "user123",'password' => "user@user!123",'Text' => "Test");
$sms_url ="http://remoteserver/plain";

// create a test var which we can display on screen / log
$test_url = sms_url . http_build_query($postvars);

// either send it to the browser
echo $test_url;

// or send it to your log (make sure loggin is enabled!)
error_log("CURL URL: $test_url", 0);

openurl($sms_url, $postvars);