Faits: A. Par jugement du 19 janvier 2006, le Tribunal correctionnel de l'arrondissement de Lausanne (ci-après: le Tribunal correctionnel) a condamné A._ à quatre ans et demi de réclusion pour lésions corporelles graves, vol qualifié, utilisation frauduleuse d'un ordinateur, tentative d'utilisation frauduleuse d'un ordinateur, recel, injure, opposition aux actes de l'autorité, infraction à la Loi fédérale sur le séjour et l'établissement des étrangers, violation grave des règles de la circulation et ivresse au volant. Le Tribunal correctionnel a notamment retenu les faits suivants: Dans la nuit du 2 au 3 décembre 2004, A._, qui avait consommé une quantité indéterminée d'alcool, a abordé B._, qui exerçait une activité de prostituée à Lausanne. Après avoir convenu d'entretenir une relation sexuelle contre paiement de 100 fr. pour vingt minutes, ils se sont rendus au domicile de B._. Durant la relation sexuelle, A._ s'est montré passablement agressif et brutal et a injurié sa partenaire en la traitant de "salope" et de "putain". Après une vingtaine de minutes, B._ lui a demandé de payer un supplément s'il voulait continuer. Enervé et insatisfait de la prestation fournie, A._ a refusé et a exigé de récupérer les 100 fr. qu'il avait déjà payés, sans quoi il appellerait la police. Il a ensuite fait semblant d'appeler la police, puis a demandé à B._ de lui donner ses clés. Celle-ci a refusé, craignant que A._ ne lui vole le produit de son travail, s'élevant à 500 fr. Il s'en est alors pris physiquement à elle, en la saisissant par les cheveux et le cou, en la serrant avec force et en la soulevant tout en maintenant la pression sur la gorge. Il lui a mordu la main avant de lui subtiliser ses clés. Il a ensuite tenté de s'emparer du sac contenant l'argent de sa victime. Comme elle essayait de l'en empêcher, il s'est jeté sur elle, la faisant tomber sur le lit, puis s'est assis à cheval sur elle et lui a tiré les cheveux. En se débattant, B._ a réussi à le repousser, mais il est revenu et lui a donné un coup de poing au milieu de la figure, puis a continué à frapper, avec ses poings renfermant les clés, sur le front et les mains de la victime, qui tentait de se protéger. A._ l'a encore saisie au cou, tout en continuant à la frapper au visage et sur le torse. Il s'est emparé du sac et a pris tout l'argent qu'il contenait. Il a à nouveau repoussé la victime au sol et lui a donné plusieurs coups de pieds au visage et dans le dos. Il l'a encore griffée sur la poitrine, lui a cassé une chaise sur le dos et l'a frappée avec un morceau de la chaise. Enfin, au moment de partir, il est revenu sur ses pas pour lui asséner encore deux coups de pied, l'un au visage et l'autre dans le dos, tout en lui déclarant "tu as eu ce que tu voulais". Selon les constatations médicales, B._ a souffert de contusions faciales, cervicales, du poignet droit et de la main gauche. Une fracture nasale a également été constatée, ainsi que diverses ecchymoses et écorchures sur plusieurs endroits du corps. La vie de la victime a été mise en danger lors de l'agression au cou. Enfin, elle a subi des séquelles d'ordre psychologique. Les faits retenus par le Tribunal correctionnel quant au déroulement de l'agression correspondent à la version donnée par B._. Confrontés à une version différente de A._, les premiers juges l'ont écartée. Ils ont acquis la conviction que seule la version de la victime correspondait à la réalité. Malgré quelques variations sur des points de détail, ils ont estimé que les explications fournies par la victime étaient sensiblement plus crédibles que celles données par A._, qui "n'a cessé de mentir, de louvoyer, de se contredire et de modifier sa version des faits en fonction de ce que l'instruction révélait". La conviction du tribunal se fondait également sur l'appréciation de la personnalité des protagonistes ainsi que sur la comparaison de la vraisemblance des deux versions. B. A._ a recouru contre ce jugement auprès de la Cour de cassation pénale du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal cantonal), qui l'a confirmé par arrêt du 24 février 2006. En substance, le Tribunal cantonal a considéré que le Tribunal correctionnel n'avait pas fait preuve d'arbitraire en privilégiant la version de B._. Les premiers juges avaient en effet soigneusement examiné les déclarations des protagonistes et avaient longuement exposé les motifs pour lesquels cette version avait été retenue. Le principe de la présomption d'innocence n'avait donc pas été violé. C. Agissant par la voie du recours de droit public, A._ demande au Tribunal fédéral d'annuler cet arrêt. Il invoque les art. 32 al. 1 Cst. et 6 par. 2 CEDH pour se plaindre d'une violation du principe de la présomption d'innocence. Il se plaint également d'arbitraire dans l'appréciation des preuves (art. 9 Cst.). Il requiert en outre l'assistance judiciaire gratuite.