开发者社区> 问答> 正文

PHP中CURL POST数据的相关问题

今天用到CURL这个函数库,在进行POST数据传输时,出现了个很有趣的问题

$Postval = array('key'=>$keycode,'action'=>'dns_edit');//$keycode 是通过uc_authcode函数加密的值
$Curl = curl_init();
curl_setopt($Curl,CURLOPT_URL,"http://xxxx.com");
curl_setopt($Curl,CURLOPT_POST,1);
curl_setopt($Curl,CURLOPT_POSTFIELDS,http_build_query($Postval));
curl_setopt($Curl,CURLOPT_RETURNTRANSFER,1);

$Postval 如果是不用数组,而用字符串 如
$Postval = 'key='.$keycode.'&action=dns_edit';
这样传输就会出现一些问题,$keycode这个值传过去之后就会出现异常 ,会有空格出现。

求高人指教下 POST数组和字符串的区别 另外在解释下 http_build_query这个函数 多谢!

展开
收起
吴孟桥 2016-06-07 18:32:13 2073 0
1 条回答
写回答
取消 提交回答
  • 第一,http_build_query把数组生成合法请求的url地址,有编码过了,是key=value型式.

    第二,如果你有$Postval = 'key='.$keycode.'&action=dns_edit'这样的字符串,你可以直接加在请求地址的后面了,你还post什么post?

    curl_setopt($Curl,CURLOPT_URL,"http://xxxx.com".$Postval);

    2019-07-17 19:30:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载