我有一个脚本,返回以下格式的字符串
{"showStatus":[{"large":980,"small":200,"title":"New Arrival<'/span>gothrough: Red","status":6,"Id":87643}],"totalStatus kers":2}1
我有curl代码,登录后从其他网站获得此数据。我正在开发一个soap服务器来与其他服务器共享此细节,而不是再次登录并获取此数据。但是我没有通过soap客户机在其他服务器上获得这些数据。我的soap服务器代码是
<?php
$server = new SoapServer(null,
array('uri' => "urn://mytest/result"));
function get_data()
{
$cookie = 'cookie.txt';
$url1="http://example.com/city/getdata/";
$ch = curl_init();
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30');
curl_setopt ($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_URL, $url1);
$result = curl_exec($ch);
return $result;
}
$server->addFunction('get_data');
$server->handle();
?>
和其他服务器上的soap客户端具有此代码
$client = new SoapClient(null, array(
'location' => "http://x.x.x.x/soapserver/soapserver.php",
'uri' => "urn://mytest/result"));
$result = $client->
__soapCall("get_data");
echo $result;
?>
我得到的输出是"1"而不是那个字符串。如果你知道这个
您需要设置CURLOPT_RETURNTRANSFER
以获得成功时的结果。
在curl_exec
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec()成功返回TRUE,失败返回FALSE。但是,如果设置了CURLOPT_RETURNTRANSFER选项,它将返回结果