我需要从php进行http post / curl查询并将结果存储在jsor变量中。
在我的文档中,它说有两种方法:
示例POST:
curl -X POST“http://developer.echonest.com/api/v4/track/upload” - d“api_key = xxxxxx& url = http://example.com/audio.mp3”
但是如何在php中实现呢?我没有线索。从我一直在阅读的内容来看,我认为curl_init方法不会像在php网站上描述的那样工作,因为它不是一个post方法:
$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
我欢迎任何迹象表明如何进行。感谢。
答案 0 :(得分:4)
这样怎么样?
$post = array(
"url"=>"path/to/file/example_homepage.txt",
"api_key"=>"xxxxxx"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "http://developer.echonest.com/api/v4/track/upload");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
还有其他选择,具体取决于您可能需要的情况,SSL,Cookie,用户代理等...... Here's a link to the php reference!