2010-04-25 51 views

回答

5

使用curl功能:

http://php.net/manual/en/book.curl.php

假设你使用的是GET请求连接到一个RESTful API:

$url = "http://the-api-you-want/?the-args=your-args&another-arg=another-arg"; 
$ch = curl_init(); // start CURL 
curl_setopt($ch, CURLOPT_URL, $url); // set your URL 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // get the response as a variable 
$json = curl_exec($ch); // connect and get your JSON response 
curl_close($ch); 

然后,您可以使用PHP的json_decode的响应,如果这是你想要做什么。

另一种选择是使用Drupal的drupal_http_request功能http://api.drupal.org/api/function/drupal_http_request/6

+0

这只适用于REST风格的服务:p – 2010-04-25 10:00:24

+0

您可以多解释一下。我是CURL的新手,我想使用json进行数据传输 – Warrior 2010-04-25 10:00:56

+0

您的意思是您希望获得JSON响应,还是希望在查询中发送JSON? – Finbarr 2010-04-25 10:03:22

0

我会reccommend你在你的问题更具体。你认为什么类型的Web服务?

如果您使用Rest Webservices,我可以推荐Zend Framework随附的Zend_Rest_Client。我认为Zend Framework还提供了SOAP服务的Stuff。

+0

我正在使用drupal cms – Warrior 2010-04-25 10:04:15

0

使用curl或Zend Framework中的Zend_Http_Client库(您不需要整个Zend Framework来使用库)。如果您正在调用的服务正在发送JSON响应,那么您必须使用json_decode以PHP解析它。