代码之家  ›  专栏  ›  技术社区  ›  techno

通过Curl检查POST的返回值

  •  0
  • techno  · 技术社区  · 5 年前

    我正在使用卷曲。那个服务根据通过检查数据库传递给它的值返回0或1。当我使用 echo $result

    $result = curl_exec($ch);
    if ( $result == 0 )
    {
         echo("Valid");
    }
    else
    {
         echo("Invalid");
    }
    

    VarDump是--->字符串(103)“0”

    :

    //open connection
    $ch = curl_init();
    
    //set the url, number of POST vars, POST data
    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_POST, true);
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
    
    //So that curl_exec returns the contents of the cURL; rather than echoing it
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); 
    

    : C#Web服务代码

      try { if (dr.HasRows) { c.Close(); return 0; } else { c.Close(); return 1; } }
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   Nick    5 年前

    您的问题是,实际上从curl请求得到一个XML返回。结果的实际文本是

    <?xml version="1.0" encoding="utf-8"?> 
    <int xmlns="http://www.example.com/">1</int>
    

    echo htmlspecialchars($result);

    $xml = simplexml_load_string($result);
    $result = (int)$xml;
    

    然后可以使用结果值。