我想使用curl发送POST请求,但不知道它为什么不起作用。 HTTP请求如下:
输入:POST 网址:https://abc.com/server/386594/actions/?do=open HEADERS :授权:基本1234abc
当我使用curl(CLI)发出请求时,它工作正常但在php中我没有得到任何响应。我的代码是:
$headers = array("Authorization: Basic 1234abc");
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch1, CURLOPT_URL, "https://abc.com/server/386594/actions/");
curl_setopt($ch1, CURLOPT_POST, 1);
curl_setopt($ch1, CUTLOPT_POSTFIELDS, "do=open");
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
$vnc = curl_exec($ch1);
echo $vnc;
echo curl_error($ch1);
我哪里错了? :)
答案 0 :(得分:0)
请输入以下代码....
url不是安全网址,因此请删除HTTPS并编写简单的HTTP。
$headers = array("Authorization:Basic 1234abc");
//remove the space
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$host_url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST,true);
//remove 1 and put 'true' keyword
curl_setopt($ch, CURLOPT_POSTFIELDS,"do=open");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
$curl_response = curl_exec($ch);