Ben bir Django uygulaması bağladım simpleSAMLphp denen bir şey almak için çalışıyorlar.
I, Python, bu php script işlevselliğini çoğaltmak gerekiyor rağmen ben ... neredeyse oradayım:
Ben dosya 64.rtf için, php $ ham değişkenin içeriğini kopyaladığınız. I Python eşdeğer çalıştırdığınızda Ancak ben belirten bir hata alıyorum:
TypeError: Yanlış dolgu
PHP kodu:
function getValue($raw) {
$val = $raw;
$url = parse_url($raw, PHP_URL_QUERY);
if (!empty($url)) $val = $url;
$arr = array();
$query = parse_str($val, &$arr);
#echo('<pre>');print_r($arr);
if (array_key_exists('SAMLResponse', $arr)) return $arr['SAMLResponse'];
if (array_key_exists('SAMLRequest', $arr)) return $arr['SAMLRequest'];
if (array_key_exists('LogoutRequest', $arr)) return $arr['LogoutRequest'];
if (array_key_exists('LogoutResponse', $arr)) return $arr['LogoutResponse'];
return rawurldecode(stripslashes($val));
}
function decode($raw) {
$message = getValue($raw);
#echo 'using value: ' . $message; exit;
$base64decoded = base64_decode($message);
$gzinflated = gzinflate($base64decoded);
if ($gzinflated != FALSE) {
$base64decoded = $gzinflated;
}
$decoded = htmlspecialchars($base64decoded);
return $decoded;
}
Ben şimdiye kadar sadece Python bu ile geldi:
string64 = open("64.rtf", "rU").read()
decodedstring = base64.b64decode(string64,)
Ne almıyorum? rawurldecode (stripslashes bit? yoksa url_parser?
ve bu kod çözme için şu çok önemli tam olarak ne yapar?
Ben size yardımcı olabilir umuyoruz. teşekkürler ...