尝试向
示例网址:
https://providers.cloudsoftphone.com/lib/prettyqr/createQR.php?user=1003123&format=png&cloudid=asdasdasd&pass=123123123
以上网址在浏览器中正常工作,
如果请求是get / post,则api不在乎,
我的代码结果总是'无效输入'。
代码:
$url='https://providers.cloudsoftphone.com/lib/prettyqr/createQR.php';
$u = rand();
$p = rand();
$fields = array(
'user'=> urlencode($u),
'pass'=> urlencode($p),
'format'=> urlencode('jpg'),
'cloudid' => urlencode('test')
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
旁注:有没有办法调试请求以查看发送的内容?
答案 0 :(得分:1)
提供的网址不适用于POST
请求。这是截图(我尝试使用Advance Rest Client)
然而,它与GET
方法完美配合。因此,您可以继续使用GET请求方法生成QR码。
我同意GET与POST方法相比并不安全,但在你的情况下,从curl用户请求时不会了解这些URL参数(userid,password)。 因为curl
请求将从您的网络服务器发送,而不是从客户端/用户的浏览器发送。
稍后您可以输出从api获得的响应图像。