Может ли кто-нибудь дать мне пример того, как я могу использовать следующий веб-сервис с php?Использовать WebService с php
http://www.webservicex.net/uszip.asmx?op=GetInfoByZIP
Может ли кто-нибудь дать мне пример того, как я могу использовать следующий веб-сервис с php?Использовать WebService с php
http://www.webservicex.net/uszip.asmx?op=GetInfoByZIP
Вот простой пример, который использует локон и GET интерфейс.
$zip = 97219;
$url = "http://www.webservicex.net/uszip.asmx/GetInfoByZIP?USZip=$zip";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$xmlobj = simplexml_load_string($result);
Переменная $result
содержит XML, который выглядит, как этот
<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
<Table>
<CITY>Portland</CITY>
<STATE>OR</STATE>
<ZIP>97219</ZIP>
<AREA_CODE>503</AREA_CODE>
<TIME_ZONE>P</TIME_ZONE>
</Table>
</NewDataSet>
После XML анализируется в объект SimpleXML, вы можете получить в различных узлах, как это:
print $xmlobj->Table->CITY;
Если вы хотите получить фантазию, вы можете бросить все это в класс:
class GetInfoByZIP {
public $zip;
public $xmlobj;
public function __construct($zip='') {
if($zip) {
$this->zip = $zip;
$this->load();
}
}
public function load() {
if($this->zip) {
$url = "http://www.webservicex.net/uszip.asmx/GetInfoByZIP?USZip={$this->zip}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$this->xmlobj = simplexml_load_string($result);
}
}
public function __get($name) {
return $this->xmlobj->Table->$name;
}
}
, которые затем могут быть использованы как это:
$zipInfo = new GetInfoByZIP(97219);
print $zipInfo->CITY;
Я хотел бы использовать POST HTTP GET или интерфейсы с curl. Похоже, что он дает вам хороший чистый XML-вывод, который вы могли бы проанализировать с помощью simpleXML.
Что-то вроде следующего будет идти по пути (предупреждение, совершенно непроверенные здесь):
$ch = curl_init('http://www.webservicex.net/uszip.asmx/GetInfoByZIP?USZip=string');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
$xml = curl_exec($ch);
curl_close($ch);
$parsed = new SimpleXMLElement($xml);
print_r($parsed);
я думаю, что он спрашивает о формате, но Cory»читать приведенные примеры – dusoft