API使用CURL发送电子邮件和密码

时间:2016-07-22 23:13:34

标签: php json wordpress email curl

我已经在Wordpress的插件中编写了一些代码,当用户点击提交按钮时,他们的信息存储在WP数据库中,并使用JSON protocalls将其信息发送到第三方网站。

这是我使用的代码(“$ bemail”和$ password指的是同一文件中代码的早期部分):

$url = "https://api.example.com/v1/logins";
$data = array(
    'email'     => $_POST['$bemail'],
    'password'  => $_POST['$password'],
    );
$content = json_encode($data);
$curl = curl_init($url);
$apikey = "xxxx";
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'example.com-Api-Key: ' . $apikey,
    'Accept: application/json',
    ));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$json_response = curl_exec($curl);

$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

我收到来自第三方网站的回复错误,例如:

“错误:电子邮件和密码不能为空”

告诉我没有发送电子邮件和密码。

我在这里错过了什么?

谢谢。

2 个答案:

答案 0 :(得分:0)

要告诉接收服务器期望JSON,请使用Content-Type标头而不是Accept

curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'example.com-Api-Key: ' . $apikey,
    // remove this line -> 'Accept: application/json',
    'Content-Type: application/json'
    ));

答案 1 :(得分:0)

我建议的第一件事就是使用我们在这里可以找到的PHP API客户端:https://github.com/sproutvideo/sproutvideo-php

创建登录的文档位于:https://github.com/sproutvideo/sproutvideo-php#create_login

您还可以登录自己的帐户并转到http://sproutvideo.com/api_history

,查看服务器端收到的内容

如果您对使用API​​进行设置有任何疑问,请直接与我们的客户支持联系!