在php里面怎么提交一个post请求,我要请求一个网址,传参数进去。他会返回一个xml格式的文件结果。在php里面怎么post。

解决方案 »

  1.   

    function _xpost($url,$p)
    {
    $f='';
    $data='';
    foreach($p as $k=>$v)
    {
    $data.=$f.$k.'='.urlencode($v);
    $f='&';
    }

    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    $res = curl_exec($curl);

    if(curl_errno($curl))
    {
    echo 'Curl error: ' . curl_error($curl);
    }
    curl_close($curl);
    return $res;
    }$x=_xpost('http://abc.com/aa.php',array( 'username'=>$uname,
    ));
      

  2.   

    还有个问题请教,如果$x=_xpost('http://abc.com/aa.php',array('username'=>$uname));接收到的数据是一个xml:
    <?xml version="1.0" encoding="UTF-8" ?>
    <result>
      <response>1</response>
    </result>
    我怎么获取<response>之间的1这个值?
      

  3.   

    xml 请使用simplexml来解析.学好simplexml 以后碰到xml都不用担心了.
      

  4.   

    简单点正则之,
    preg_match('/<response>(.*?)<\/response>/s',$xml,$m);
    echo $m[1];
      

  5.   


    xpath,或者直接操作dom都行。