Я пытаюсь сформировать следующий запрос на отправку CURL через PHP? Как я это делаю, все, что я пытался, возвращалось как недопустимые параметры сообщений.
Это то, что я пытаюсь POST через php (у меня есть API_KEY, api_sig .. но не знаю, как поставить ниже почтовый запрос через PHP):
curl -d "api_key = KEY & sig = SIGNATURE & time_stamp = 20 & json = 1" \ http://api.i.com/v1/update/
Это должно работать
$url = "http://api.iq.com/v1/update/"; $data = "api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST ,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); /* obey redirects */ curl_setopt($ch, CURLOPT_HEADER, 0); /* No HTTP headers */ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); /* return the data */ $result = curl_exec($ch); curl_close($ch);
Поместите все в одну строку:
curl -d "api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1" http://api.iq.com/v1/update/
Используйте exec()
для запуска, например
exec("curl -d \"api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1\" http://api.iq.com/v1/update/", $results);
$results
возвращает возвращаемые данные.
Пожалуйста, обратитесь к следующему PHP-коду
define('POSTURL', 'http://api.iq.com/v1/update/'); define('POSTVARS', 'api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1'); //removed typo $ch = curl_init(POSTURL); curl_setopt($ch, CURLOPT_POST ,1); curl_setopt($ch, CURLOPT_POSTFIELDS ,POSTVARS); curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1); // RETURN THE CONTENTS OF THE CALL` $Rec_Data = curl_exec($ch);` curl_close($ch);