küçük bir yardım "çeviri" gerekiyor

0 Cevap php

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 ...

0 Cevap