2015-02-11 5 views
2

У меня есть небольшая проблема с преобразованием cURL в PHP cURL.cURL to PHP cURL

скручиваемость:

curl -X POST https://api.curated.co/PUBLICATION_KEY/api/v1/email_subscribers -H 'Accept: application/json' -H 'Content-type: application/json' -H 'Authorization: Token token="API_KEY"' -d '{ "email" : "[email protected]" }' 

Я преобразовав его в:

<?php 
$headers = array(
    'Accept: application/json', 
    'Content-type: application/json', 
    'Authorization: Token token="API_KEY"' 
); 
$data = array("email" => "[email protected]");                  
$data_string = json_encode($data); 

$ch = curl_init('https://api.curated.co/PUBLICATION_KEY/api/v1/email_subscribers');                  
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                  
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                  
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);  
$result = curl_exec($ch); 
?> 

Но я не получил никакого ответа. Примечание: Я меняю свои API_KEY и PUBLICATION_KEY с соответствующими.

Я следую этому руководству: http://support.curated.co/hc/en-us/articles/201753981-Adding-Subscribers-with-the-API

Можете ли вы дайте мне знать, если я что-то не хватает?

+0

вы получаете какую-либо ошибку Являются ли ваши reques t или нет ответа, и вы просто не смотрите заголовки ответов и т. д., чтобы узнать, могут ли они помочь вам сообщить об этой проблеме? Что показывает 'var_dump (curl_getinfo())' show? –

+1

Это ваш полный код? Вам нужно что-то сделать с переменной '$ result'? –

+0

Нет заголовков ответа («Не удалось загрузить данные ответа»). Когда я var_dump '$ result', я просто получаю' bool (false) '. – user4556369

ответ

0

Я определенно заменить curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); с curl_setopt($ch, CURLOPT_POST, true); Если ничего не изменится, вы также можете добавить curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); только в случае Куратором имеет редирект участие (возможно, у них есть отдельная аутентификация слой, который затем направляют вас к желательно конечная точка)

0

попробовать это (?:

для преобразования скручивания команды PHP https://incarnate.github.io/curl-to-php/

 
    curl_setopt($ch, CURLOPT_URL, "https://api.curated.co/PUBLICATION_KEY/api/v1/email_subscribers"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "{ \"email\" : \"[email protected]\" }"); 
    curl_setopt($ch, CURLOPT_POST, 1); 

    $headers = array(); 
    $headers[] = "Accept: application/json"; 
    $headers[] = "Content-Type: application/x-www-form-urlencoded"; 
    $headers[] = "Authorization: Token token=\"API_KEY\""; 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

    $result = curl_exec($ch); 
    if (curl_errno($ch)) { 
     echo 'Error:' . curl_error($ch); 
    } 
    curl_close ($ch);