Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Curl不适用于HelloText API_Php_Curl_Libcurl - Fatal编程技术网

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')让我们