无法在命令行上使用curl使用pastebin:错误的API请求,无效的api_option

时间:2015-06-27 04:09:40

标签: php curl pastebin

我尝试使用curl创建一个粘贴,如下所示:

$ url="http://pastebin.com/api/api_post.php"
$ headers="Content-Type: text/html; charset=UTF-8"
$ data="api_option=paste&api_dev_key=<my-key-here>&api_paste_code=testing&api_option=paste"
$ curl -X POST -H "$headers" --data "$data" $url

但是我没有收回我的粘贴网址,而是收到了此帖子标题中的错误

老实说,我很惊讶,似乎没有任何合理的解决方案可以从OSX命令行进行pastebinning。

*更新I *

通过比较的方式,这个小的PHP脚本工作正常:

<?
$ch = curl_init('http://pastebin.com/api/api_post.php');
$api_dev_key = '<my-key-here>';
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=paste&api_dev_key='.$api_dev_key.'&api_paste_code=testing');
curl_setopt($ch, CURLOPT_VERBOSE, 1);

echo curl_exec($ch) . "\n";
?>

那有什么不同?

1 个答案:

答案 0 :(得分:2)

我认为你的标题不正确。它应该是:

$ headers="Content-Type: application/x-www-form-urlencoded; charset=UTF-8"