使用 php 使用 WebService

2023-11-26

任何人都可以给我一个如何使用 php 使用以下 Web 服务的示例吗?

http://www.webservicex.net/uszip.asmx?op=GetInfoByZIP


这是一个使用curl 和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);

The $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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 php 使用 WebService 的相关文章

  • PHP 构建/集成工具:您使用它们吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 codeigniter 中找不到我的核心类 My_head

    我正在尝试在 codeigniter 中创建核心类 在 application core 中 我创建一个名为 MY head php 的文件 MY head php 的代码是 class MY head extends CI Control
  • 如何检查 PHP 数组是关联数组还是顺序数组?

    PHP 将所有数组视为关联数组 因此没有任何内置函数 任何人都可以推荐一种相当有效的方法来检查数组是否 是一个列表 只包含从0开始的数字键 基本上 我希望能够区分这一点 sequentialArray apple orange tomato
  • 保护胖客户端应用程序中的 API 密钥

    在应用程序中 我使用密钥来计算 API 调用的哈希值 在 NET 应用程序中 使用 Reflector 之类的程序从程序集中提取信息以包含这些键是相当容易的 混淆程序集是保护这些密钥的好方法吗 可能不会 研究密码学和 Windows 的内置
  • Mysqli 如何获取并填充3列数据

    我有一张桌子 我的桌子如下 id product name price 我有列表视图 我想获取数据并像这样填充 div class container div class row div class col s4 product name
  • 是 header('Content-Type:text/plain');有必要吗?

    我还没有看到有或没有这个头部信息有什么区别 定义 必要 如果您希望浏览器这样做 这是必要的know文件的类型是什么 PHP 自动设置Content Type标头至text html如果您不覆盖它 那么您的浏览器会将其视为不包含任何 HTML
  • 如何检查 PHP 中的数组?

    我能想到的最好的是 function is array alike array return is array array is object array array instanceof ArrayAccess array instanc
  • Split() 已弃用 [重复]

    这个问题在这里已经有答案了 可能的重复 PHP 拆分替代方案 https stackoverflow com questions 2813241 php split alternative Successful geocode geocod
  • PHP如何比较日期和日期?

    我从数据库中得到这个值 2009 1 1 00 00 00 好的 让我粘贴我的代码 fetch mysql fetch assoc result db value fetch date 2009 1 1 00 00 00 today dat
  • 如何将多个动态行插入数据库

    我有一个使用 php 和 jQuery 创建的多行动态表 这是查看表格的链接 https jsfiddle net soumyar c8w2Lrk8 一切工作正常 除了当我将数据插入数据库时 序列号不按顺序保存 我的插入查询如下 for i
  • 一段时间后取消设置会话

    我正在建立一个在线订票网站 在此 我将执行以下操作 用户使用其座位号搜索公共汽车 数据库中的座位号已更新为temp seat book Y 如果他预订机票并付款 他的状态将更新为final ticket book Y 现在我想删除该字段te
  • PHP:强制转换为(数组)和返回类型:数组不一样吗?

    我在 PHP 中遇到以下问题 print r 说是一样的gettype 说相同的类型 但最后的输出不适用于这两种情况 尽管它们应该是相同的 这对我来说看起来很奇怪 代码和输出 docdatau get object vars json de
  • 下拉列表在 php 中保留先前选择的值

    我在 php 中创建了一个个人资料页面 用户使用 html 下拉列表选择性别 html代码如下 Gender
  • 在 woocommerce 中创建带有音频文件的可下载产品

    相信你的一天过得很充实 我需要从前端创建一个可下载的 woocommerce 产品 我已经能够创建链接来发布产品并将音频文件添加为附件 但我需要在付款后使此附件可下载 就像您从仪表板发布可下载的 woocommerce 产品时一样 我已经可
  • 使用 php 脚本从不同网站读取文件

    如何从完全不同的服务器读取文件的内容 然后显示内容 我稍后将更改代码以正确地使用返回的信息 您可以使用file get contents http php net file get contents or cURL http php net
  • 我想在我的 Wordpress BootStrap 导航中添加一行

    我有一个简单的网站 我想在导航上方添加一行 其中包含电话号码 也许还有一些社交链接 我的主题名为 Hestia Pro 找不到在哪里添加此额外行 我正在寻找一些关于将其添加到网站主题中的位置的指示 网站是 www gpoint co uk
  • 使用 PHP 解析 XML 导航站点地图

    我正在从 XML 文件实现 PHP 站点地图解析器 我做得相对不错 但是 我需要解析器更加动态 我需要实现一个递归函数 它将继续循环找到的每个 child node 一个节点可以在另一个 child node 中包含许多 child nod
  • 有没有办法在 PHP 中创建匿名对象

    我可以开始使用如下代码吗 new Controllers ServiceController gt fbdump 所以我不必创建一个 var 来执行单个方法 是的 但是您需要添加一组括号 因为 gt 优先级高于new new Control
  • argv 和 argc 未定义或为 null

    当我在 construct 中尝试这个时 var dump argc var dump argv var dump SERVER argv 它返回错误 未定义的变量 argc 和未定义的变量 argv 和数组 大小 0 空 当我在全局中声明
  • 如何用PHP识别google/yahoo/msn的网络爬虫?

    AFAIK SERVER REMOTE HOST 应该以 google com 或 yahoo com 结尾 但这是最有保障的方法吗 还有其他出路吗 您通过以下方式识别搜索引擎用户代理和IP地址 http www jafsoft com s

随机推荐

  • 纯javascript可拖动元素

    我知道网上有这样做的示例 但每个示例都不同 我自己的实现也是如此 我试图找出我的实现出了什么问题 因为它没有按预期工作 代码片段 var mousePressX 1 var mousePressY 1 document getElement
  • 在新的 Rails 项目中从 SQLite 更改为 PostgreSQL

    我有一个 Rails 应用程序 其数据库位于 SQLite 开发和生产 中 由于我要迁移到 heroku 因此我想将数据库转换为 PostgreSQL 无论如何 我听说本地开发数据库不需要从 SQLite 更改 所以我不需要更改它 但是 如
  • 是否可以从 Java 运行 C 源代码?

    现在我有一些 C 源代码 我想在我的 java 应用程序中使用它 我需要执行 C 源代码 并将结果返回到我的 java 应用程序 如何在我的 java 应用程序中重用 C 源代码 而不是将所有 C 源代码重新编写为 java 看一眼Java
  • Math.abs 返回 Integer.Min_VALUE 的错误值

    这段代码 System out println Math abs Integer MIN VALUE Returns 2147483648 是否应该返回绝对值2147483648 Integer MIN VALUE is 214748364
  • 如何更改 JavaFX 中子级的顺序

    是否可以更改 JavaFX2 子列表中节点的顺序 我试过set and Collections swap 然而两者都抛出IllegalArgumentException in Parent因为在某些时候 子列表在两个位置包含相同的项目 当节
  • Numpy 中的矩阵索引

    在开发涉及矩阵运算的小型 Python 脚本时 我越来越感到困惑 因此我启动了一个 shell 来玩一个玩具示例 并更好地理解 Numpy 中的矩阵索引 这就是我所做的 gt gt gt import numpy as np gt gt g
  • iPhone 事件套件:以编程方式创建 EKCalendar?

    我想在我的应用程序中插入事件 以便可以在 iPhone Calendar app 中查看它们 但由于我不想将用户事件与应用程序中的事件混合在一起 所以我想创建一个像 MyApp Events 这样的 EKCalendar 这可能吗 否则您将
  • 通过单个 API 调用获取包含见解的帖子 - Facebook Graph API

    我想知道是否有一种方法可以通过一次 API 调用获取最近 10 篇帖子及其一些见解 反应 影响力 观点等 目前我正在做的是获取最近 10 篇帖子并循环浏览他们的 ID 以获取他们的见解 但这会减慢请求速度 我期待这样的回应 posts da
  • 测试深层对象结构中属性的存在性

    在 javascript 中 假设我想访问对象深处的属性 例如 Entry mediaGroup 0 contents 0 url 在该结构的任何点上 属性都可能未定义 因此可能无法设置 mediaGroup 简单的说法是什么 if ent
  • PHP 获取标头不适用于 -

    我正在尝试获取 URL 标头的输出 它非常适合子域示例 subdomain example com 我将收到正常消息 HTTP 200 ok 等 但如果子域有 其中标题中不显示任何内容 test tumblr com or test tum
  • css / js 中的自动换行

    我正在寻找一种跨浏览器的方式来包装具有预定宽度的 div 内部没有中断空格 例如长 URL 的长文本部分 以下是我在网上找到的一些解决方案及其原因don t为我工作 溢出 隐藏 自动 滚动 我需要整个文本在不滚动的情况下可见 div 可以垂
  • 同一数据上的多个轴

    我试图在相同的数据上使用两个轴 数据有几个DefaultTableXYDatasets 情节是一个XYPlot 我有两个XYLineAndShapeRenderers和一个StackedXYAreaRenderer2 y 值的所有数据均以米
  • 按(逆)时针顺序排列凹多边形顶点?

    我有一组无序的顶点 可能形成一个凹多边形 现在我想按顺时针或逆时针顺序排列它们 答案在这里建议采取以下步骤 找到多边形中心 计算角度 按角度对点排序 这显然仅适用于凸多边形 当点形成凹多边形时就会失败 我怎样才能对凹面做到这一点 我正在使用
  • 除非打印出来,否则值不会在 while 循环中更新[重复]

    这个问题在这里已经有答案了 好的 所以我有一个监视线程 它检查 ArrayList 的大小 并在该大小大于某个数字后执行某些操作 我现在遇到的问题是大小值永远不会更新 除非我的循环中有打印语句 这是一些代码来展示我到底要做什么 while
  • python中多条线的最近交点

    我需要一个好的算法来计算最接近 python 中的线集合的点 最好使用最小二乘法 我发现这篇关于 python 实现的文章不起作用 在Python中使用最小二乘法找到多条线的中心 我在 Matlab 中发现了这个资源 每个人似乎都喜欢 但我
  • 以编程方式在 Android 屏幕上移动鼠标指针

    我正在开发一个 Android 应用程序 我想在 Android 平板电脑上移动 鼠标 指针 光标 我知道这是可能的 因为当我将鼠标 USB 或 BT 连接到 Android 平板电脑 Honeycomb 时 会出现一个光标 并且我可以仅使
  • 如何在kotlin android中将base64字符串转换为图像

    我有一个表示位图图像的 Base64 字符串 我需要再次将该字符串转换为位图图像 以便在我的 Android 应用程序中的 ImageView 上使用它 怎么做 您可以使用此代码进行解码 val imageBytes Base64 deco
  • Ruby:Titleize:如何忽略较小的单词,如“and”、“the”、“or”等

    def titleize string string split map word word capitalize join end 这给每个单词起了标题 但是我如何捕获某些我不想大写的单词呢 即 杰克和吉尔 并且请不要使用正则表达式 UP
  • `const &&` 是否绑定到所有纯右值(和 xvalues)?

    C 标准定义了以下删除的函数 template
  • 使用 php 使用 WebService

    任何人都可以给我一个如何使用 php 使用以下 Web 服务的示例吗 http www webservicex net uszip asmx op GetInfoByZIP 这是一个使用curl 和GET 接口的简单示例 zip 97219