1

我正在尝试使用以下代码来获取礼品卡中的余额,而无需将沃尔玛用于最终用户。

<?php 
$url = "https://www.walmart.com/cservice/ProcessShoppingCard.do";
//
$h = curl_init();

curl_setopt($h, CURLOPT_URL, $url); 
curl_setopt($h, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($h, CURLOPT_POST, true);
curl_setopt($h, CURLOPT_POSTFIELDS, array(
'cardNumber' => '1234567890123456',
'pin' => '1234',
'GetCardBalance' => 'GetCardBalance'
));
curl_setopt($h, CURLOPT_HEADER, true);
curl_setopt($h, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($h);
echo $result;


?>

但它似乎只显示页面而不显示结果。我检查了 walmart 中使用的表单,它只有 3 个字段:cardNumber、pin 和 GetCardBalance。

我用过但仍然没有得到结果。

如果我转到此网址https://www.walmart.com/cservice/ProcessShoppingCard.do 并尝试检查余额,它确实会显示响应。

任何想法,我做错了什么以及在哪里做错了?

请指教,谢谢!

4

1 回答 1

0

好的,经过多次尝试,我终于能够使用以下代码工作。我没有正确使用 POSTFIELDS 方法。我使用 Firefox Firebug 来查看在提交表单时发送了哪些变量,并根据这些变量使用它们,这一切都奏效了 :)

$url = "https://www.walmart.com/cservice/ProcessShoppingCard.do";
//
$h = curl_init();
curl_setopt($h, CURLOPT_URL, $url); 
curl_setopt($h, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($h, CURLOPT_POST, true);
curl_setopt($h, CURLOPT_POSTFIELDS, "cardNumber=1234567890123456&pin=1234&GetCardBalance.x=90&GetCardBalance.y=8");
curl_setopt($h, CURLOPT_HEADER, true);
curl_setopt($h, CURLOPT_RETURNTRANSFER, true);
//
$result = curl_exec($h);
echo $result;

谢谢大家的帮助和建议。

于 2012-11-15T00:42:01.760 回答