如何使用 curl 发送多个数字作为输入?
how to send multiple number as input using curl?
我想使用 curl.For 发送多个数字作为输入,我使用 num[] 作为 html code.This 是我的代码
$num[]=$_POST["num"];
$msg=$_POST["msg"];
$url = 'http://localhost/s/a.php';
$fields = array(
'num'=>urlencode($_POST["num"]),
'msg'=>urlencode($_POST["msg"]));
$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
$re = curl_exec($ch);
但是显示错误
Warning: urlencode() expects parameter 1 to be string, array given in
您不需要调用 urlencode()
$fields
数组的值。 http_build_query()
将为您正确执行此操作。
此外 urlencode()
仅适用于字符串,不适用于值数组(因此出现错误)。最后,如果您能够在将它们传递到 http_build_query
之前对它们进行编码,那么您现在正在对已经进行 urlencode 的字符串进行 urlencoding——结果很可能是垃圾。
试试这个:
$fields = array(
'num'=>$_POST["num"],
'msg'=>$_POST["msg"]);
$fields_string = http_build_query($fields);
我想使用 curl.For 发送多个数字作为输入,我使用 num[] 作为 html code.This 是我的代码
$num[]=$_POST["num"];
$msg=$_POST["msg"];
$url = 'http://localhost/s/a.php';
$fields = array(
'num'=>urlencode($_POST["num"]),
'msg'=>urlencode($_POST["msg"]));
$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
$re = curl_exec($ch);
但是显示错误
Warning: urlencode() expects parameter 1 to be string, array given in
您不需要调用 urlencode()
$fields
数组的值。 http_build_query()
将为您正确执行此操作。
此外 urlencode()
仅适用于字符串,不适用于值数组(因此出现错误)。最后,如果您能够在将它们传递到 http_build_query
之前对它们进行编码,那么您现在正在对已经进行 urlencode 的字符串进行 urlencoding——结果很可能是垃圾。
试试这个:
$fields = array(
'num'=>$_POST["num"],
'msg'=>$_POST["msg"]);
$fields_string = http_build_query($fields);