通过Web URL调用PHP cURL时出错
我得到了以下PHP代码:通过Web URL调用PHP cURL时出错,php,Php,我得到了以下PHP代码: $webUrl = WEB_URL_CONSTANT; $webUrl = str_replace('%op%', $operator, $webUrl); $webUrl = str_replace('%subno%', $msisdn, $webUrl); echo $webUrl; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $webUrl); cur
$webUrl = WEB_URL_CONSTANT;
$webUrl = str_replace('%op%', $operator, $webUrl);
$webUrl = str_replace('%subno%', $msisdn, $webUrl);
echo $webUrl;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $webUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$xml = curl_exec($ch);
curl_close($ch);
echo $xml;
$xml变量返回空,但如果我用指向URL的直接链接替换下一行上的$webUrl,则会返回有效值:
curl_setopt($ch, CURLOPT_URL, "http://....");
为什么??我该怎么修理
谢谢页面重定向到另一个返回XML的URL。。。。
因此,我首先调用了执行重定向的第一个页面,获取URL,调用该URL,最后得到XML…:-) 那么,
WEB\u URL\u CONSTANT
包含什么?包含页面的URL…是echo$webUrl的输出;而直接链接“http:\\....”相同吗?是的,除了那些被替换的变量之外,它们是相同的。http:\\
无效(应该是http://
),我非常怀疑$webUrl
是否包含与后续测试完全相同的URL,因为这在逻辑上是不可能的。因此,请告诉我们确切的(不同的)url。调试时不要使用echo
,而是var\u dump
您的变量,并在网页的源代码中检查它们(以避免丢失HTML标记/空白/其他实体)。