Hmm scheint schon die Richtige zu sein ... jedenfalls benutzt Adsense Notiefier die Gleiche ...
---
https://www.google.com/accounts/Service ... 2Fgaiaauth
---
Woran könnts liegen, also Passwort und Username stimmen

Hier mal der komplette Login Prozeß
PHP
Code: Alles auswählen
function connect($username, $password){
// phase 1
curl_setopt($this->curl, CURLOPT_URL, "https://www.google.com/accounts/ServiceLoginAuth?service=adsense&hl=en-US<mpl=Login&ifr=true&passive=true&rm=hide&nui=3&alwf=true&continue=https%3A%2F%2Fwww.google.com%2Fadsense%2Fgaiaauth&followup=https%3A%2F%2Fwww.google.com%2Fadsense%2Fgaiaauth");
preg_match_all('<input type="hidden" name="(.*?)" value="(.*?)">', curl_exec($this->curl), $out);
$params = array();
foreach($out[1] as $key=>$name) { $params[] = $name . '=' . urlencode($out[2][$key]); }
$params[] = 'Email=' . urlencode($username);
$params[] = 'Passwd=' . urlencode($password);
$params[] = 'null=' . urlencode('Sign in');
// phase 2
curl_setopt($this->curl, CURLOPT_POST, true);
curl_setopt($this->curl, CURLOPT_URL, "https://www.google.com/accounts/ServiceLoginAuth");
curl_setopt($this->curl, CURLOPT_POSTFIELDS, join('&', $params));
preg_match("/.*<a target=\"_top\" href=\"(.*)\" style.*/", curl_exec($this->curl), $matches);
// phase 3
curl_setopt($this->curl, CURLOPT_POST, false);
curl_setopt($this->curl, CURLOPT_URL, $matches[1]);
// did we login ?
if (eregi("Log out", curl_exec($this->curl))) {
return true;
} else {
return false;
};
}
zum Vergleich mal Adsense Notifier
Code: Alles auswählen
else if ( ( ( self.loggedin == -1 ) && ( args.phase != 0 ) ) || ( ( self.loggedin == 0 ) && ( args.phase == 0 ) ) ) {
self.loggedin = -1;
args.phase++;
self.tooltip = self.bundle.GetStringFromName( 'tooltip.loadingtext' );
switch ( args.phase ) {
case 1:
self.login_attempts++;
self.httprequest( { "querystring" : "https://www.google.com/accounts/ServiceLoginAuth?service=adsense&hl=en-US<mpl=login&ifr=true&passive=true&rm=hide&nui=3&alwf=true&continue=https%3A%2F%2Fwww.google.com%2Fadsense%2Fgaiaauth&followup=https%3A%2F%2Fwww.google.com%2Fadsense%2Fgaiaauth", "callback_onload" : self.logon, "callback_parameters" : args } );
break;
case 2:
var re = /<input type="hidden" name="(.*?)" value="(.*?)">/ig;
var match = re.exec( args.responseText );
var post_data = '';
while ( match ) {
post_data = post_data + match[1] + '=' + self.URLencode( match[2] ) + '&';
match = re.exec( args.responseText );
}
var querystring = "https://www.google.com/accounts/ServiceLoginAuth";
post_data = post_data + 'Email=' + self.URLencode( self.username ) + '&Passwd=' + self.URLencode( self.password ) + '&null=Sign+in';
self.httprequest( { "querystring" : querystring, "method" : "POST", "callback_onload" : self.logon, "callback_parameters" : args, "post_data" : post_data } );
break;
case 3:
var re = /var url = ('|")(.*?)\1;/i;
var match = re.exec( args.responseText );
if ( match ) {
var qs = self.hex_unencode( match[2] );
self.httprequest( { "querystring" : qs, "callback_onload" : self.logon, "callback_parameters" : args } );
} else {
self.tooltip = self.bundle.GetStringFromName( 'tooltip.loginfailed' );
self.loggedin = 0;
self._prefs.setCharPref( "window_com", self.getListener() + ":4" );
}
break;
case 4:
self.loggedin = 1;
self.login_attempts = 0;
self.check_logon( args.responseText );
if ( self.sort_by == 10 ) {
self.set_sincelastupdate();
} else {
self.getData();
}
break;
}