本文介绍了无法使用curl在命令行上粘贴:错误的API请求,无效的api_option的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图使用curl创建一个粘贴,如下所示:
I'm trying to create a paste using curl like this:
$ 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
但是没有回到我的粘贴的网址,我得到这个帖子的标题中的错误
but instead of getting back the url of my paste I get the error in the title of this posting
老实说,我惊讶的是,似乎没有任何合理的解决方案,用于从OSX命令行的pastebinning。
honestly, I'm astounded that there don't seem to be any reasonable solutions out there for pastebinning from the OSX command line.
* Update I *
通过比较,这个小的PHP脚本工作正常:
by ways of comparison, this small PHP script works fine:
<?
$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";
?>
因此有什么不同?
推荐答案
我想你的标题不正确。应该是:
I think you have the header incorrect. It should be:
$ headers="Content-Type: application/x-www-form-urlencoded; charset=UTF-8"
这篇关于无法使用curl在命令行上粘贴:错误的API请求,无效的api_option的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!