如何使用curl编码令牌

时间:2013-10-03 05:55:49

标签: php curl

STEP - 1

我正在使用CURL发送一个xml请求,并向我返回“ TOKEN ”。请在此处找到以下代码:

<root><request><type>mykey</type><username>myusername</username><password>mypassword</password></request></root>

$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $curl_url);// passing API URL here
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $xml_strign); // passing xml as a string
$result = curl_exec ($curl_handle);

在上面的代码执行正常并返回令牌作为结果。

STEP - 2

在第二步中,我必须发送上面的令牌来获取我的结果但没有得到结果。请找到以下代码:

$xml = "<root>
<request>
<type>myparam</type>
<token>lGcvdOnetuxK0paE+AIxE93GB85DURIpOeoBw8quqOs=</token>
</request>
</root>";

curl_setopt($curl_handle, CURLOPT_URL, $curl_url);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $xml);
$result = curl_exec ($curl_handle);
curl_close ($curl_handle);
print_r($result);

可能是这个令牌包含我想的特殊章程,所以我没有得到结果。我在浏览器中看到了控制台网址响应状态200 ok。

我非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我认为您的帖子数据存在问题。您应该在这里阅读有关CURLOPT_POSTFIELDS的详细信息:

http://php.net/manual/fr/function.curl-setopt.php

所以你的xml变量应该像这样定义:

$xml = array("token" => "lGcvdOnetuxK0paE+AIxE93GB85DURIpOeoBw8quqOs");

至少它应该是一个数组。