Простой загрузочный XML-файл не работает - PullRequest
0 голосов
/ 13 февраля 2011

Я использую действительно 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); }
?>

Кто-нибудь знает, почему URL не загружается? Я исправил проблему q =, но она все еще не загружается.

1 Ответ

0 голосов
/ 14 февраля 2011

Во-первых, вы загружаете один и тот же документ дважды .Сначала с помощью cURL (без необходимости), затем с SimpleXML.Удалил все, что связано с curl из этого скрипта, он вам не нужен.

Во-вторых, документ загружается правильно, но он не содержит результатов, так как номер издателя ############, очевидно, недействительно.Очистите скрипт и предоставьте образец документа, который вы пытаетесь загрузить.

...