0
我一直在試圖讓一個名爲simplesamlphp的東西連接到一個Django應用程序。需要一點幫助將base64解碼器腳本從PHP翻譯爲Python
我幾乎沒有...雖然我需要複製,在Python,PHP這個腳本的功能:
我抄在PHP $生變量的內容,該文件64.rtf。然而,當我運行了Python相當於我得到一個錯誤,指出:
類型錯誤:不正確的填充
PHP代碼:
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;
}
我只有拿出這在Python至今:
string64 = open("64.rtf", "rU").read()
decodedstring = base64.b64decode(string64,)
我沒有得到什麼?在rawurldecode(的stripslashes位??或url_parser ??
和究竟是什麼這些幹什麼,多數民衆贊成在解碼如此重要?
我希望你能有所幫助。感謝...
嘗試`base64.b64decode(string64)`(不含逗號)。 – 2011-01-21 15:49:54
@ Jakub:在我的Python上它可以使用和不使用逗號。 – rubik 2011-01-21 16:10:50