2016-01-25 109 views
0

我有一個登錄到郵箱的代碼,但這不適用於我。你能幫我修理嗎?我究竟做錯了什麼?我爲您製作了一個示例郵箱,請隨時使用它。通過php curl登錄到郵箱

登錄形式爲this page

<?php 

$ch = curl_init(); 
$Url = "https://login.szn.cz/loginProcess"; 
$fields = array(
    'serviceId' => "email", 
    'returnURL' => "https://email.seznam.cz/", 
    'username' => "[email protected]", 
    'password' => "nmkdSxX6", 
    'domain' => "post.cz", 
    'login' => "Přihlásit se", 
    'coid' => "" 
); 


$fieldsTrim = http_build_query($fields); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldsTrim); 
curl_setopt($ch, CURLOPT_URL, $Url); 
curl_setopt($ch, CURLOPT_REFERER, "https://seznam.cz"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type:application/x-www-form-urlencoded")); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
$output = curl_exec($ch); 
echo $output; 


?> 
+1

爲什麼推倒重來 - 你能不能使用PHP內置的各種'imap'功能來訪問郵箱?你可以使用'imap','pop'和'nntp' - 雖然不是所有的功能都可以使用pop(php5.3.2) – RamRaider

+0

因爲我需要在登錄到郵箱後使用u功能在web應用程序中 –

回答

0

您需要使用cookie jar。您可以使用一個變量餅乾罐

curl_setopt ($ch, CURLOPT_COOKIEJAR, '-'); 

或tmp文件。

$cookie = "/var/tmp/xy.ck"; 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 

要調試裏面是什麼情況發生,你可以跟蹤使用啓用詳細模式

curl_setopt($ch, CURLOPT_VERBOSE, 1); 
+0

不幸的是,它不工作,可以你幫我解決它?請? –

+1

有了這個迴應'它不起作用'我(或其他人)不能再幫你了。對你的迴應提供信息。 –

+0

如果你會嘗試運行它,只有白頁返回。我允許重定向和冗長,但沒有任何反應。 –