phpcurl을 통해 내 Horde 웹 메일에 자동으로 로그인 한 다음 모든 전자 메일을 표시하고 싶습니다. 지금까지 내 로그인이 완벽하게 작동합니다. 저는 증명서와 쿠키로 로그인합니다.PHPcurl : 로그인 후 웹 사이트에 로그인하고 데이터를 가져 오기 HTTP 404 리소스를 찾을 수 없음 오류
무엇이 문제입니까?
대시 보드가 표시되지만 데이터가 표시되지 않습니다.
어떻게 오류 출력을받을 수 있나요 : 여기에 스크린 샷은 같은 모습입니다? 콘솔에서
는 말한다 : 여기Failed to load resource: the server responded with a status of 404 (Not Found)
내 콘솔의 스크린 샷 :
이은 무엇 코드 내가 지금까지 사용합니까?
//Data
$webmail_login = "http://webmail.licht-austria.at/login.php";
$webmail_mailbox = "http://webmail.licht-austria.at/imp/dynamic.php?page=mailbox";
$login = "";
$password = '';
$postdata = "login_post=1&horde_user=$login&horde_pass=$password&horde_select_view=auto&new_lang=de_DE";
//Curl Login POST
$ch = curl_init();
$agent = $_SERVER["HTTP_USER_AGENT"];
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL, $webmail_login);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$result = curl_exec($ch);
//Until here it works i logged in
//Curl Mailbox GET
curl_setopt($ch, CURLOPT_URL, $webmail_mailbox);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
$data = curl_exec($ch);
echo $data;
내 코드 작업을 수행하는 방법?
첫 번째 단계에서는 내 자격 증명을 사용하고 POST를 통해 웹 메일에 로그인합니다. PostData가 정확하고 로그인 할 수 있습니다. webmail.at/login.php가 끝나면받은 편지함 (webmail.at/imp/dynamic.php?page=mailbox)으로 리디렉션됩니다. 웹 메일은 지금 GET Method를 사용하여 모든 전자 메일과 물건을 가져오고 있으며이 순간에는 404 오류가 발생합니다.
우선 HTTP를 사용하여 로그인해야합니까? IMAP/SMTP가 더 좋은 방법이 아닌가요? 두 번째로, 웹 메일 클라이언트는 아약스로 데이터를 보낼 수 있지만 컬은 처리 할 수 없습니다. – jamek
아, 그래, 문제는 내가 IMAP에 대해 많이 알지 못해서 어떻게 작동하는지에 관한 문제입니다. 어떻게 할 수 있습니까? –
사용자 이름/암호를 올바르게 인코딩하지 마십시오. '&'또는 공백 (이름이 2 인)이있는 모든 비밀번호는 올바르게 인코딩되지 않고 로그인이 거부됩니다. 당신은 체크 아웃해야합니다 urlencode() – hanshenrik