Php Curl不适用于HelloText API
我有这样的代码Php Curl不适用于HelloText API,php,curl,libcurl,Php,Curl,Libcurl,我有这样的代码 <?php $post_vars = array('app_key'=>'my_api_key', 'user_key' => 'my_user_key'); $c = curl_init(); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_POST, 1); curl_setopt($c, CURLOPT_HTTPHEADER, array('Accept: applic
<?php
$post_vars = array('app_key'=>'my_api_key', 'user_key' => 'my_user_key');
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
curl_setopt($c, CURLOPT_URL, 'http://hellotxt.com/api/v1/method/user.validate');
curl_setopt($c, CURLOPT_POSTFIELDS, $post_vars);
$content = curl_exec($c);
print_r($content);
curl_close($c);
?>
这将显示返回响应为“未指定应用程序密钥”。
但是,如果我通过表单(formpost)发布api密钥和用户密钥,则同样有效。
当我使用表单提交api密钥和用户密钥时,我得到的响应为
<rsp status="OK"><nick>testinguser</nick><name>testinguser</name><avatar> http://hellotxt.com/avatar/testinguser/medium/image.jpg</avatar></rsp>
testingusertestinguser)您应该将一个数组作为post字段发送,现在您正在发送一个json编码的字符串
所以你应该替换这个:
curl_setopt($c, CURLOPT_POSTFIELDS, '{app_key:"my_api_key", user_key:"my_user_key"}');
与
在哪里
<强>编辑< /强>:也考虑Honoki给出的答案。我投了赞成票,因为他也有一个观点,你需要“告诉”curl你计划发送post
你应该发送一个数组作为post字段,现在你发送的是一个json编码的字符串
所以你应该替换这个:
curl_setopt($c, CURLOPT_POSTFIELDS, '{app_key:"my_api_key", user_key:"my_user_key"}');
与
在哪里
<强>编辑< /强>:也考虑Honoki给出的答案。我投了赞成票,因为他也有一个观点,你需要“告诉”curl你计划发送post
你必须指定你想发出如下post请求
curl_setopt($c, CURLOPT_POST, 1);
您必须指定要发出如下POST请求
curl_setopt($c, CURLOPT_POST, 1);
请尝试从代码中删除此行:
curl_setopt($c, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
请尝试从代码中删除此行:
curl_setopt($c, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
我已经按照你说的编辑了我的代码,但是错误是一样的。。检查我上面的代码(我现在已经编辑过了,对吗?@hjaffer2001正如我在添加的更新中所说的,您还应该添加Honoki建议的行;这两件事都是需要的(只是我的答案或他的答案)没有人,我用了你的代码,得到了相同的错误。非常感谢你的努力。wat将是上述问题的原因???@hjaffer2001,如果他们在文档中没有要求,您可以尝试删除这一行:curl_setopt($c,CURLOPT_HTTPHEADER,array('Accept:application/json','Content Type:application/json')代码>让我们知道我已经按照你说的编辑了我的代码,但是错误是一样的。。检查我上面的代码(我现在已经编辑过了,对吗?@hjaffer2001正如我在添加的更新中所说的,您还应该添加Honoki建议的行;这两件事都是需要的(只是我的答案或他的答案)没有人,我用了你的代码,得到了相同的错误。非常感谢你的努力。wat将是上述问题的原因???@hjaffer2001,如果他们在文档中没有要求,您可以尝试删除这一行:curl_setopt($c,CURLOPT_HTTPHEADER,array('Accept:application/json','Content Type:application/json')代码>让我们