2014-05-20 143 views
0

我正在使用PHP + curl腳本通過着名的PP付款gw進行付款(不能接收)。PHP + curl catch POST響應

我可以在外部網站(不是我的)上填寫購物車並登錄付款(快速結賬)。登錄後,我看到提交POST表單的按鈕「continue」。

我能夠發送請求的參數,但我無法檢索響應中包含的回調url,所以我不能去那裏。我想我缺少2個可能由js:fso和fsi生成的參數。

我遵循手動程序(Firebug/NET面板/ POST數據),我可以確認回調網址在那裏。在我的代碼的最後一部分之後,感謝您的幫助。

#CURL SETUP 
$session = curl_init(); 
curl_setopt($session, CURLOPT_HEADER, 1); 
curl_setopt($session, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($session, CURLOPT_HTTPGET, 1); 

#MY CURL OPERATION 
curl_setopt($session, CURLOPT_URL, $website); 
curl_setopt($session, CURLOPT_POST, 1); 
curl_setopt($session, CURLOPT_POSTFIELDS, $postfields); 
curl_setopt($session, CURLOPT_DNS_USE_GLOBAL_CACHE, false); 
curl_setopt($session, CURLOPT_DNS_CACHE_TIMEOUT, 2); 
curl_setopt($session, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt($session, CURLOPT_COOKIEFILE, $cookie); 
curl_setopt($session, CURLOPT_FOLLOWLOCATION, true); //needed for 302 
$output = curl_exec($session); 
print_r($output); 

我試圖獲得靈感Searchin的周圍,從預製的PHP類,但所有網站談論接收付款,不付款。

回答

0

我做到了我自己

上的捲曲設置:

//suppress 100 continue curl bug 
curl_setopt($session, CURLOPT_HTTPHEADER, array('Expect:')); 

AFTER curl_exec

$lastUrl = curl_getinfo($session, CURLINFO_EFFECTIVE_URL); 
$redirs = curl_getinfo($session, CURLINFO_REDIRECT_COUNT); 

LET'S打印出結果

echo "LAST URL<br><pre>".$lastUrl."</pre>"; 
echo "NUMBER OF REDIRS<br><pre>".$output."</pre>"; 
echo "LAST URL<br><pre>".$output."</pre>"; 
die(); 

每頭將包含所有捲曲通道和請記住,你看到的步驟到任何調試器(Safari網絡督察,螢火蟲,等等等等),例如

- 302 Found 
- 302 Moved Temporarily 

表示1個單一重定向。我希望這對其他人有用。

0

您需要設置CURLOPT_RETURNTRANSFER返回的curl_exec()值(響應),而不是直接輸出出來的:

curl_setopt($session, CURLOPT_RETURNTRANSFER, true); 
+0

當然,或者我該怎麼做debug,print_r,preg_match等? CURLOPT_RETURNTRANSFER被設置在curl開頭,我將我的問題綜合起來以避免任何誤解。 – fab

+0

你不能留下一些代碼讓它工作,然後說「當然」......你需要提供更多的信息。表單發送了什麼字段?你目前回來的是什麼? – vimist

+0

當然,這是代碼。我不是故意傷害你,對不起,感謝你的幫助。 我發送POST請求是這樣的: https://www.pxxpal.com/en/cgi-bin/merchantpaymentweb?dispatch=0123blabla 我得到的登錄頁面,在我的$輸出,但不完整的JSON響應,我可以從螢火蟲看到: while(1); {「_type」:「Rapids :: PPAJAxxxowResponseVO」,「html」:「 fab