为CURL准备字符串

时间:2017-06-23 19:10:39

标签: php curl

我在PHP中使用CURL:

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.sendgrid.com/v3/mail/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",

CURLOPT_POSTFIELDS => "{"value\":\"$content\"}"

$content是一个非常简单的字符串时,这可以正常工作,但当它是一个多行或有特殊字符时,它会被拒绝。

所以我做了:$content = curl_escape($curl, $content_1);

这对于那些更复杂的字符串来说非常有用,但是,它返回了一个完全编码的HTML“blob”。这通常不是问题,但内容是通过电子邮件直接发送的,因此我无法在发送之前对其进行解码。有没有其他方法可以在不完全编码所有内容的情况下保护这些字符串安全?

1 个答案:

答案 0 :(得分:0)

使用json_encode()创建JSON参数。

CURLOPT_POSTFIELDS => json_encode(array('value' => $content))