使用 Web API 时没有结果

2023-12-12

我正在尝试使用 PHP 从美国邮政服务 (USPS) 费率计算器中提取 XML 页面。这是我正在使用的代码(当然替换了我的 API 登录名和密码):

<?
$api = "http://production.shippingapis.com/ShippingAPI.dll?API=RateV4&XML=<RateV4Request ".
       "USERID=\"MYUSERID\" PASSWORD=\"MYPASSWORD\"><Revision/><Package ID=\"1ST\">".
       "<Service>FIRST CLASS</Service><FirstClassMailType>PARCEL</FirstClassMailType>".
       "<ZipOrigination>12345</ZipOrigination><ZipDestination>54321</ZipDestination>".
       "<Pounds>0</Pounds><Ounces>9</Ounces><Container/><Size>REGULAR</Size></Package></RateV4Request>";

$xml_string = file_get_contents($api); 

$xml = simplexml_load_string($xml_string);
?>

非常简单。然而它永远不会返回任何东西。我可以将 URL 直接粘贴到浏览器的地址栏中:

http://production.shippingapis.com/ShippingAPI.dll?API=RateV4&XML=<RateV4RequestUSERID="MYUSERID" PASSWORD="MYPASSWORD"><Revision/><Package ID="1ST"><Service>FIRST CLASS</Service><FirstClassMailType>PARCEL</FirstClassMailType><ZipOrigination>12345</ZipOrigination><ZipDestination>54321</ZipDestination><Pounds>0</Pounds><Ounces>9</Ounces><Container/><Size>REGULAR</Size></Package></RateV4Request>

它返回我需要的 XML,因此我知道该 URL 是有效的。但我似乎无法使用 PHP 捕获它。任何帮助将不胜感激。提前致谢。


一件事是您需要对发送到服务的 XML 进行 URL 编码。浏览器会自动为您执行此操作,但是file_get_contents won't.

尝试这个:

 $param = urlencode("<RateV4Request ".
   "USERID=\"MYUSERID\" PASSWORD=\"MYPASSWORD\"><Revision/><Package ID=\"1ST\">".
   "<Service>FIRST CLASS</Service><FirstClassMailType>PARCEL</FirstClassMailType>".
   "<ZipOrigination>12345</ZipOrigination><ZipDestination>54321</ZipDestination>".
   "<Pounds>0</Pounds><Ounces>9</Ounces><Container/><Size>REGULAR</Size></Package></RateV4Request>");

 $api = "http://production.shippingapis.com/ShippingAPI.dll?API=RateV4&XML="
        .$param;

 ... then the rest of the code

如果这没有帮助,请确保您已激活错误报告,以便您在以下情况下得到响应file_get_contents有错误。

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

使用 Web API 时没有结果 的相关文章

  • 如何用破折号替换所有大写字母,用正则表达式替换所有小写字母?

    如何在 php 中用破折号和小写字母替换所有大写字母 Such as understandRegexBetter to understand regex better 我的 Google fu 和对以下代码的实验并没有让我走得太远 echo
  • 如何使用WAMP登录phpMyAdmin,用户名和密码是什么?

    根 这个词是什么意思php我的管理员 http en wikipedia org wiki PhpMyAdmin 每当我写作时localhost phpmyadmin在地址栏上 我被要求输入用户名和密码 但我不知道它们是什么 我不记得何时何
  • cURL 错误 (35):错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 无法识别的名称

    我一直在使用以下代码块使用 cURL 从 HTTPS 网站收集数据 q https www example org for example ch curl init curl setopt ch CURLOPT URL q curl set
  • 致命错误:未捕获错误:调用未定义的函数 bcadd()

    安装 eduTrac SIS 并访问 仪表板 后出现此错误 Ubuntu 16 4 PHP 7 0 php7 0 fpm Apache2 Nginx URL 给出错误 500 并显示 nginx error log FastCGI 在 st
  • Symfony2 安全性 @Secure 注释不起作用

    我正在尝试使用注释来保护我的控制器 namespace Vinny StreamBundle Controller use Symfony Bundle FrameworkBundle Controller Controller use J
  • PHP 中 glob() 中的转义空格?

    我在 PHP 中有以下函数 除了名称中带有空格的文件外 该函数运行良好 Good picture jpg例如 这里是 function getphotolist currentalbum photos glob currentalbum J
  • 从 Joomla 3 url 中删除文章 ID

    我正在尝试从 Joomla 3 URL 中删除文章 ID 我四处搜寻 得到的答复是 组件 com content router php 将 0 更改为 1 advanced params gt get sef advanced link 1
  • 使用 Sandcastles 将图像嵌入 CHM 帮助文件

    我正在使用 Sandcastles 为我的项目生成 CHM 帮助文件 我想要一个可以分发的独立 CHM 文件 最好是单独分发 我遇到的问题是嵌入图像appears该图像需要与 CHM 文件分开存在于用户系统上 当我查看 CHM 文件的来源时
  • Netbeans (PHP) 中的变量类型提示

    只是好奇 Netbeans 中是否有一种方法可以为常规变量提供类型提示 以便智能感知能够识别它 我知道你可以对类属性 函数参数 返回类型等执行此操作 但我不知道如何对常规变量执行此操作 当您有一个可以返回不同对象类型 如服务定位器 的方法时
  • Laravel 规则和正则表达式 (OR) 运算符的问题

    我的 Laravel 规则和正则表达式操作有一个小问题 基本上 规则是一个数组 如下所示 room gt required alpha num min 2 max 10 我遇到的问题是使用正则表达式和 时 或 运算符 例如 cid gt r
  • PHP fscanf 与 fgets

    我可以使用读取一行中的整个字符串fgets but fscanf 没有这样做 根据PHP手册 fscanf 根据格式解析文件的输入 功能fscanf 类似于sscanf 但它从与句柄关联的文件中获取输入 并根据指定的格式解释输入 这在文档中
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • 由带有换行符的 DOMDocument 生成的 XML

    我正在使用 PHP DOMDocument 创建 XML 文件 并且这些 XML 文件不能包含换行符 但是当我使用该方法时 保存 XML 生成的 XML 在定义和初始标记之间有一个换行符 如下所示
  • 通过电子邮件发送在 HTML5 画布上创建的图像

    我有一个画布 用户可以通过交互来更改设计 现在 用户完成更改后 可以提交他的设计及其电子邮件 ID 但为了提交设计 我使用以下方法将画布转换为图像http www nihilogic dk labs canvas2image http ww
  • 数据库设计 - “推”模型,或写时扇出

    背景信息 我正在尝试检索我关注的人的图像 按最新时间排序 它就像 Twitter 新闻源 显示您朋友的最新动态 Plans 目前我只需要考虑一项 那就是图像 将来我计划分析用户的行为并将他们可能喜欢的其他图像添加到他们的提要中等 http
  • 在 Slim Framework 3 中访问课堂上的应用程序

    当路由位于与 index php 不同的类中时 我无法理解如何访问 Slim 的实例 当使用 Slim Framework 2 时 我总是使用以下内容 但它在 Slim 3 中不起作用 this gt app Slim Slim getIn
  • Niceedit本地上传图片失败

    我是这样称呼编辑的 new nicEditor buttonList bold italic underline upload iconsPath img nicedit png uploadURI http server com inte
  • 如何在没有脚本 (PHP) 或服务器配置 (Nginx) 的情况下检测移动设备(和/或移动 cookie)?

    我们很快就会推出网站的移动版本 我们的完整网站和移动网站仅在主题上有所不同 即网址相同 唯一的区别在于前端 当用户访问我们的网站时 我们需要能够执行以下操作 1 检查 cookie 移动 true 或 false 以确定是否已定义完整与移动
  • 单个返回语句与多个返回语句? [关闭]

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

    我有一个简单的 C 函数 可以创建一个基本的 XML 文件并保存 private void CreateXMlFile string Filename string Name string Company XmlDocument doc n

随机推荐

  • np.sum 和 np.add.reduce - 在生产中,你用​​什么?

    作为背景 请阅读这篇快速帖子和明确的答案 np sum 和 np add reduce 有什么区别 因此 对于小数组 使用add reduce是比较快的 让我们看一下我为了学习而试验的以下代码 它对一个二维数组求和 a np array 1
  • 根据值对对象属性进行排序[重复]

    这个问题在这里已经有答案了 我有一个对象数组 Accept Credit Cards 17 Take Out 17 Alcohol 16 Caters 10 Takes Reservations 11 Smoking 0 Dogs Allo
  • Apache Flink Rest-Client Jar-Upload 不起作用

    我正在努力使用 Flink Rest api 可能会发现 在我们的 CI CD 工作流程中自动部署新的 Flink 作业在 flink Github 存储库中 文档仅说明 jar 上传可以通过使用来实现 jars upload 但不是如何准
  • 当锁持有非最终对象时,该对象的引用是否仍然可以被另一个线程更改?

    当一个对象需要同步时 如果它没有设置为非最终的 IDE 会抱怨 因为它的引用不是持久的 private static Object myTable synchronized myTable IDE complains access myTa
  • 使用 GDB Python API 从符号名称获取全局符号的地址

    如果我知道 GDB Python API 的名称 是否可以通过某种方式获取二进制文件中全局符号的地址 Is python print gdb parse and eval symbol address 获得这个值的正确方法是什么 好吧 你自
  • 使用ajax自动完成

    也许你可以帮助解决一些ajax问题 我有自动完成代码 我输入城市名称 代码会自动为我完成它 并且还获取城市 ID 并应该将其放入隐藏输入字段 名称 cityID 但它没有 不要那样做 你能告诉我为什么吗 html代码 p p
  • 将字符连接到字符串数组时获取“null”

    public static void main String args char charArr a b c d e f g h i String stringA charToString charArr for int i 0 i lt
  • 如何在我的连接类中使用“using”

    我想使用 using forSqlConnection在我的代码中是这样的 using SqlConnection Con new SqlConnection 但我用过dictionary对于一个内的多个连接Connections班级 这是
  • 自定义 Finder“获取信息”窗口?

    操作系统 在查找器中 如果您选择 获取信息 您会看到一个 属性窗口 引用当前选定的文件 文件夹 卷 默认情况下 该窗口包含 聚光灯评论 一般的 更多信息 名称和扩展名 预览 共享与权限 有人知道是否可以向该窗口添加分段吗 比如说我想添加一个
  • 比较两个相同大小的位图以确定它们是否相同的最快方法是什么?

    我正在尝试编写一个函数来确定两个相同大小的位图是否相同 我现在拥有的函数只是一次比较每个位图中的一个像素 在第一个不相等的像素处返回 false 虽然这很有效 并且适用于小位图 但在生产中我将在紧密循环中和更大的图像上使用它 所以我需要一种
  • 从 Java 字符串中删除行尾字符

    我有这样的字符串 hello java book 我要删除 r and n from String hello r njava r nbook 我想要的结果是 hellojavabook 我怎样才能做到这一点 带replaceAll 的正则
  • 在 listView 内的 listItem 内的 textView 上使用 setSelected

    我试图让滚动文本 选取框 发生在列表视图中 但从我之前的阅读来看 我似乎需要在文本视图上使用 setSelected true 因为textview位于listitem而不是listview内部 所以我似乎无法在该textView上使用ge
  • R 记录链接标识

    我正在 R 中使用 RecordLinkage 库 我有一个包含 id 姓名 电话 邮件的数据框 我的代码如下所示 ids data id pairs compare dedup data identity ids blockfld as
  • 当我发布 Web 应用程序时,我对隐藏代码所做的更改未更新

    我有一个在 VS2010 中构建的 ASP net 在 iis7 中运行 但是当我返回 VS 并更新文件后面的代码并重新发布该应用程序时 该应用程序的行为仍然与我进行更改之前一样 我已尝试删除并重新发布所有文件并重新启动应用程序池 但它仍然
  • Python TCP socket.recv() 一旦建立连接就什么也不返回

    我正在尝试实现最基本的 python TCP 服务器 Windows 8 Python 2 7 防火墙已关闭 代码来自这里 https wiki python org moin TcpCommunication 如果我做客户的事情 sock
  • 如何在 Chrome 中配置工作区?

    我正在尝试为我的本地项目激活工作区工具 当我在浏览器中编辑代码时 我想对代码应用 CSS 更改 我已将项目的文件夹 前缀 url 和路径添加到 Chrome 如下所示 但是当我将其更改为浏览器时 我的代码仍然没有任何变化 这是怎么回事 以下
  • NSURLSession/NSURLConnection HTTP 加载在子域上失败(kCFStreamErrorDomainSSL,-9802)?

    我们的应用程序在生产和开发环境中都运行良好 但在临时环境中我们遇到常见错误 NSURLSession NSURLConnection HTTP load failed kCFStreamErrorDomainSSL 9802 据我了解 当您
  • 返回按钮非常慢

    我有一个 Android 应用程序 其中 TabActivity 包含 4 个选项卡 一个列表视图 一个地图视图 另一个列表和一个 Web 视图 从列表视图中 我可以点击一个项目 它会启动另一个活动 按 返回 返回到选项卡活动 但是 访问地
  • 在 Android 上安装 Pocketsphinx

    我对在 Android 手机上安装 Pocketsphinx 有一些疑问 并且我无法在 CMUSphinx 的支持论坛 IRC 现有的 StackOverflow 帖子或大量的 Google 搜索上找到答案 如果这里有人愿意花一分钟时间并愿
  • 使用 Web API 时没有结果

    我正在尝试使用 PHP 从美国邮政服务 USPS 费率计算器中提取 XML 页面 这是我正在使用的代码 当然替换了我的 API 登录名和密码