【发布时间】:2019-06-12 05:39:33
【问题描述】:
这是我第一次尝试 UPS 跟踪,但我一无所获。我在网络选项卡中看到 200,但那是来自我的服务器,正在提供页面。
您是否发现以下代码有任何问题:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// UPS SHIP ORDER TRACKING
$xmlRequest1='<?xml version="1.0"?>
<AccessRequest xml:lang="en-US">
<AccessLicenseNumber>my access key</AccessLicenseNumber>
<UserId>my user id</UserId>
<Password>my password</Password>
</AccessRequest>
<?xml version="1.0"?>
<TrackRequest xml:lang="en-US">
<Request>
<TransactionReference>
<CustomerContext>Your Test Case Summary
Description</CustomerContext>
<XpciVersion>1.0</XpciVersion>
</TransactionReference>
<RequestAction>Track</RequestAction>
<RequestOption>activity</RequestOption>
</Request>
<TrackingNumber>1Z12345E0205271688</TrackingNumber>
</TrackRequest>';
try
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://wwwcie.ups.com/ups.app/xml/Track");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3600);
echo $xmlResponse = curl_exec ($ch); // TRACKING RESPONSE
}
catch(Exception $ex)
{
print_r("Exception: " . $ex);
}
无论我是在 http 中还是在命令行 php post_track_ups_2.php 中提供它,都没有任何内容被打印或回显。我不应该看到什么吗?
网站图标有一个 404,但这没什么。这应该工作!至少不应该抛出异常吗?东西!
跟踪号来自 UPS 文档第 7 页“跟踪 Web 服务开发人员指南”
提前致谢
【问题讨论】:
-
白屏死机 ==
error_reporting和/或display_errors需要打开/打开。 -
您的 php/curl 可以很好地建立通信,您是否以纯文本 (Ctrl+U) 形式查看输出源?显然我无法确认,因为我需要许可证密钥。
-
@Sammitch 感谢您的回复。我添加了 error_reporting(E_ALL); ini_set('display_errors', 1);还是什么都没有
-
@Scuzzy 感谢您的回复。我不知道您所说的(Ctrl + U)是什么意思。你的意思是确保文件保存为纯文本?
-
我认为您的 curl 请求失败不会导致异常。它只会返回 false,并且回显不会打印任何内容。你可以在exec之后检查curl错误,看看是什么问题。