简单的XML加载文件不起作用 - really.com api

时间:2011-02-13 19:53:11

标签: php api file-io simplexml

当我的结果为空时,我正在使用确实的api回填我的职位发布。我不熟悉api,但是根据我的参数,我在加载url时遇到了一些困难。

<?php
$publisher = "############";
$sort = "relevance";  ## Sort by "relevance" or "date"
$radius = "50";  ## Distance from search location
$st = "";  ## Site type (default blank- can set to "jobsite" or "employer")
$jt = "";  ## Job type (default blank- can set to fulltime, parttime, contract, internship, or temporary)
$start_number = 0;  ## Start search results at this number (used for pagination)
$limit = "10";  ## Number of results per page
$fromage = "";  ## Number of days to search back (default blank = 30)
$highlght = "1";  ## Bold the keyword search terms in results (set to 0 for no bold)
$filter = "1";  ## Filters out duplicate results (set to 0 for no filter)
$latlong = "1";  ## If latlong=1, returns latitude and longitude information for each result
$co = "us";  ## Country to search jobs in
$chnl = "";  ## API Channel request.  Leave blank for none
$query = "web analytics";
$location = "55403";
$highlight = "1";
$userip = $_SERVER['REMOTE_ADDR'];  ## IP address of user
$useragent = $_SERVER['HTTP_USER_AGENT'];  ## User's browser type    

$params =
       array(
                'publisher' => $publisher,
                'q' => $query,
                'l' => $location,
                'sort' => $sort,
                'radius' => $radius,
                'st' => $st,
                'jt' => $jt,
                'start' => $start_number,
                'limit' => $limit,
                'fromage' => $fromage,
                'filter' => $filter,
                'latlong' => $latlong,
                'co' => $co,
                'chnl' => $chnl,
                'userip' => $userip,
                'useragent' => $useragent,
                 );


$url = 'http://api.indeed.com/ads/apisearch'.'?'.http_build_query($params,'', '&');

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
$result = curl_exec($ch);
curl_close($ch);

$xml = (simplexml_load_file($url));
$xmlobj = $xml;

foreach ($xmlobj->results->result as $job) {
   echo sprintf("%s<br>\n%s<br><br>\n\n", (string)$job->jobtitle,
(string)$job->snippet); }
?>

任何人都知道为什么网址没有加载?我修复了q =问题,但仍然没有加载。

1 个答案:

答案 0 :(得分:0)

首先,您要加载相同的文档两次。首先使用cURL(不必要)然后使用SimpleXML。从该脚本中删除了与curl相关的所有内容,您不需要它。

其次,文档正确加载,但它不包含任何结果,因为发布者编号############显然是无效的。请清理您的脚本并提供您尝试加载的文档样本。