我用curl模拟post发送数据,
发送的 c/c++ 到了接收页面成了 c/c 
后面的 ++ 不见了,
另外,
post数据的时候使用 & 分开数据的,
但是要是数据本身就含有 & 符,又该怎么将 & 作为值传送,而不是作为分隔符呢??
求指教!

解决方案 »

  1.   

    发送的 c/c++ 到了接收页面成了 c/c  
    后面的 ++ 不见了
    这要什么意思? 将 & 用 urlencode()编码后再传入。
      

  2.   

    编码之后接到的就和原来的不同了,
    而且接受方也不会主动解码。
    需要保持代码的想表单post一样的效果。
      

  3.   

    笨人自有笨办法有个函数用replace的吧传参前,把+替换成+得到值把+替换成+
      

  4.   

    我一般先serialize,然后在urlencode没发现问题
      

  5.   

    urlencode(key) + '=' + urlencode(value)
      

  6.   

    这是客户端代码$ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,"http://localhost/test2.php");
    curl_setopt($ch,CURLOPT_HEADER,false);
    curl_setopt($ch,CURLOPT_POST,true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS,array("param"=>"c/c++","param2"=>"df&dfdf"));
    $data = curl_exec($ch);
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    $result = array("code"=>$code,"data"=>$data);
    print_r($result);test2.php里面只是将数据打印出来print_r($_POST);数据都显示正常