使用Zend项目中的Web服务

时间:2011-05-16 23:18:11

标签: php zend-framework

我正在使用外部API webservice,它返回json输出true或false。我访问了一个像

这样的网址
http://site.com/api/valid

它给了我这样的东西,看起来像json

"true" 

现在我手动访问网址,但我现在想要从我的zend项目中以编程方式进行操作。我该怎么用才能正确得到结果

2 个答案:

答案 0 :(得分:1)

有很多方法。最简单的方法是使用file_get_contents()

$result = file_get_contents("http://site.com/api/valid");
// if result is truly json
// data will be 
//    array( 0 => true)
$data = json_decode($result);

如果是流行的网络服务。可能已经为它编写了一个库。这是首选,因为它将处理错误情况和拐角情况。 Google首先围绕它。

答案 1 :(得分:1)

听起来你需要一种可以抓取端点的方法。嗯,有很多方法,但既然你已经在使用Zend,你可以阅读http://framework.zend.com/manual/1.11/en/zend.http.client.adapters.html

这是一个静态方法:

    static function curl($url, $method, $params = array()){
            $client = new Zend_Http_Client($url);
            if($method == "POST"){
                $client->setParameterPOST($params);
            }else{
                $client->setParameterGet($params);
            }
            $response = $client->request($method);
            return $response->getBody();
        }

或者使用php的原生方法$ response = file_get_contents($ url);

确保json_decode()您的回复。