2017-02-20 85 views
0

如何在WordPress中插入php curl函数。我已经试过这个PHP代码,它按预期工作。如何在WordPress中转换相同的卷曲功能。如何在wordpress中放置CURL

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://api.bstcm.no/customer/-8/offers"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_HEADER, FALSE); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
$username = 'atrium', 
$password = '3HnzkG2p', 
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password) 
)); 
$response = curl_exec($ch); 
curl_close($ch); 
$details = json_decode($response, TRUE); 
?> 

我尝试这样做:

<?php 
$response = wp_remote_get('http://api.bstcm.no/customer/-8/offers', array(

    'headers' => array(), 
    'body' => array('username' =>'atrium','password' => '3HnzkG2p') 
    ) 
); 

if (is_wp_error($response)) { 
    $error_message = $response->get_error_message(); 
    echo "Something went wrong: $error_message"; 
} else { 
    echo 'response:<pre>'; 
    print_r($response); 
    echo '</pre>'; 
} 
?> 

回答

0

HTTP认证要求要么用户名和密码中的URL被传递(不再reccomended)或待Base64编码中的“授权”首标开始与编码“基本“和分隔用户名和密码的冒号(:):

<?php 
$response = wp_remote_get('http://api.bstcm.no/customer/-8/offers', array(
    'headers' => array(
     'Authorization' => 'Basic ' . base64_encode('atrium:3HnzkG2p') 
    ) 
); 

if (is_wp_error($response)) { 
    $error_message = $response->get_error_message(); 
    echo "Something went wrong: $error_message"; 
} else { 
    echo 'response:<pre>'; 
    print_r($response); 
    echo '</pre>'; 
} 
?>