Python中如何识别和解析post请求内容的编码格式?

最近再用 python 学习爬虫,网络这块儿学的好费力……言归正传,用嗅探器对目标网页进行分析,发现 post 中呈现如下类容 name=%E6%97%A5%E6%8A%A52018_03_31&data=208%2C207%2C17%2C224%2C161%2C177%2C26%2C225%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C33%2C0%2C3%2C0%2C254%2C255%2C9%2C0%2C6%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C0%2C0%2C0%2C151%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C16%2C0%2C0%2C150%2C0%2C0%2C0%2C1%2C0%2C0%2C0%2C254%2C255%2C255%2C255%2C0%2C0%2C0%2C0%2C152%2C0%2C0%2C0%2C153%2C0%2C0%2C0%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C255%2C9%2C8%2C16%2C0%2C0%2C6%2C5%2C0%2C124%2C32%2C205%2C7%2C201%2C192%2C0%2C0%2C6%2C4%2C0%2C0%2C66%2C0%2C2%2C0%2C176%2C4%2C61%2C1%2C8%2C0%2C1%2C0%2C2%2C0%2C3%2C0%2C4%2C0%2C175%2C1%2C2%2C0%2C0%2C0%2C188%2C1%2C2%2C0%2C0%2C0%2C61%2C0%2C18%2C0%2C240%2C0%2C120%2C0%2C92%2C58%2C9%2C36%2C56%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C88%2C2%2C64%2C0%2C2%2C0%2C0%2C0%2C141%2C0%2C2%2C0%2C0%2C0%2C34%2C0%2C2%2C0%2C0%2C0%2C14%2C0%2C2%2C0%2C1%2C0%2C183%2C1%2C2%2C0%2C0%2C0%2C218%2C0%2C2%2C0%2C0%2C0%2C49%2C0%2C26%2C0%2C200%2C0%2C0%2C0%2C8%2C0%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C5%2C1%2C65%2C0%2C114%2C0%2C105%2C0%2C97%2C0%2C108%2C0%2C49%2C0%2C26%2C0%2C200%2C0%2C0%2C0%2C8%2C0%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C5%2C1%2C65%2C0%2C114%2C0%2C105%2C0%2C97%2C0%2C108%2C0%2C49%2C0%2C26%2C0%2C200%2C0%2C0%2C0%2C8%2C0%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C5%2C1%2C65%2C0%2C114%2C0%2C105%2C0%2C97%2C0%2C108%2C0%2C49%2C0%2C26%2C0%2C200%2C0%2C0%2C0%2C8%2C0%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C5%2C1%2C65%2C0%2C114%2C0%2C105%2C0%2C97%2C0%2C108%2C0%2C49%2C0%2C26%2C0%2C200%2C0%2C0%2C0%2C8%2C0%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C5%2C1%2C65%2C0%2C114%2C0%2C105%2C0%2C97%2C0%2C108%2C0%2C49%2C0%2C20%2C0%2C240%2C0%2C1%2C0%2C8%2C0%2C188%2C2%2C0%2C0%2C0%2C2%2C134%2C0%2C2%2C1%2C139%2C91%2C83%2C79%2C49%2C0%2C24%2C0%2C180%2C0%2C0%2C0%2C8%2C0%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C4%2C1%2C174%2C95%2C111%2C143%2C197%2C150%2C209%2C158%2C49%2C0%2C20%2C0%2C200%2C0%2C0%2C0%2C8%2C0%2C144%2C1%2C0%2C0%2C0%2C2%2C134%2C0%2C2%2C1%2C139%2C91%2C83%2C79%2C49%2C0%2C24%2C0%2C180%2C0%2C0%2C0%2C255%2C127%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C4%2C1%2C174%2C95%2C111%2C143%2C197%2C150%2C209%2C158%2C49%2C0%2C24%2C0%2C180%2C0%2C0%2C0%2C255%2C127%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C4%2C1%2C174%2C95%2C111%2C143%2C197%2C150%2C209%2C158%2C49%2C0%2C20%2C0%2C200%2C0%2C1%2C0%2C8%2C0%2C188%2C2%2C0%2C0%2C0%2C2%2C134%2C0%2C2%2C1%2C139%2C91%2C83%2C79%2C49%2C0%2C20%2C0%2C104%2C1%2C1%2C0%2C8%2C0%2C188%2C2%2C0%2C0%2C0%2C2%2C134%2C0%2C2%2C1%2C139%2C91%2C83%2C79%2C49%2C0%2C24%2C0%2C180%2C0%2C0%2C0%2C255%2C127%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C4%2C1%2C174%2C95%2C111%2C143%2C197%2C150%2C209%2C158%2C49%2C0%2C24%2C0%2C180%2C0%2C0%2C0%2C255%2C127%2C144%2C1%2C0%2C0%2C0%2C2%2C0%2C0%2C4%2C1%2C174%2C95%2C111%2C143%2C197%2C150%2C209%2C158%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C245%2C255%2C16%2C0%2C0%2C244%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C16%2C0%2C0%2C16%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C9%2C0%2C245%2C255%2C16%2C0%2C0%2C248%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C44%2C0%2C245%2C255%2C16%2C0%2C0%2C248%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C42%2C0%2C245%2C255%2C16%2C0%2C0%2C248%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C43%2C0%2C245%2C255%2C16%2C0%2C0%2C248%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C41%2C0%2C245%2C255%2C16%2C0%2C0%2C248%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C11%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C8%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C56%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C56%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C6%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C12%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C24%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C11%2C0%2C0%2C0%2C1%2C0%2C16%2C0%2C0%2C24%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C11%2C0%2C0%2C0%2C1%2C0%2C17%2C0%2C0%2C24%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C11%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C24%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C11%2C0%2C0%2C0%2C1%2C0%2C19%2C0%2C0%2C24%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C6%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C18%2C18%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C6%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C17%2C18%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C6%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C33%2C18%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C56%2C18%2C33%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C56%2C17%2C33%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C56%2C17%2C33%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C56%2C33%2C33%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C11%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C18%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C56%2C18%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C11%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C33%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C56%2C33%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C14%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C56%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C13%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C56%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C9%2C0%2C0%2C56%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C16%2C0%2C0%2C16%2C17%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C16%2C0%2C0%2C48%2C17%2C33%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C16%2C0%2C0%2C48%2C33%2C33%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C8%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C18%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C16%2C0%2C0%2C48%2C18%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C6%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C18%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C6%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C33%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C8%2C0%2C0%2C0%2C1%2C0%2C26%2C0%2C0%2C120%2C33%2C17%2C64%2C32%2C64%2C32%2C0%2C6%2C22%2C32%2C224%2C0%2C20%2C0%2C7%2C0%2C0%2C0%2C1%2C0%2C9%2C0%2C0%2C56%2C33%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C16%2C0%2C0%2C48%2C33%2C17%2C64%2C32%2C64%2C32%2C0%2C2%2C192%2C32%2C224%2C0%2C20%2C0%2C6%2C0%2C0%2C0%2C1%2C0%2C18%2C0%2C0%2C24%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C2%2C192%2C32%2C124%2C8%2C20%2C0%2C124%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C56%2C0%2C199%2C217%2C147%2C203%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C21%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C22%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C25%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C31%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C32%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C33%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C38%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C40%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C42%2C0%2C0%2C0%2C1%2C0%2C13%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C8%2C8%2C8%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C43%2C0%2C0%2C0%2C1%2C0%2C13%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C5%2C5%2C5%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C48%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C50%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C51%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C125%2C8%2C40%2C0%2C125%2C8%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C52%2C0%2C0%2C0%2C1%2C0%2C4%2C0%2C20%2C0%2C2%2C0%2C0%2C0%2C211%2C211%2C211%2C255%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C147%2C2%2C4%2C0%2C0%2C128%2C0%2C255%2C147%2C2%2C4%2C0%2C16%2C128%2C5%2C255%2C147%2C2%2C4%2C0%2C17%2C128%2C4%2C255%2C147%2C2%2C4%2C0%2C18%2C128%2C7%2C255%2C147%2C2%2C4%2C0%2C19%2C128%2C3%2C255%2C147%2C2%2C4%2C0%2C20%2C128%2C6%2C255%2C146%2C0%2C226%2C0%2C56%2C0%2C0%2C0%2C0%2C0%2C255%2C255%2C255%2C0%2C255%2C0%2C0%2C0%2C0%2C255%2C0%2C0%2C0%2C0%2C255%2C0%2C255%2C255%2C0%2C0%2C255%2C0%2C255%2C0%2C0%2C255%2C255%2C0%2C128%2C0%2C0%2C0%2C0%2C128%2C0%2C0%2C0%2C0%2C128%2C0%2C128%2C128%2C0%2C0%2C128%2C0%2C128%2C0%2C0%2C128%2C128%2C0%2C192%2C192%2C192%2C0%2C128%2C128%2C128%2C0%2C153%2C153%2C255%2C0%2C153%2C51%2C102%2C0%2C255%2C255%2C204%2C0%2C204%2C255%2C255%2C0%2C102%2C0%2C102%2C0%2C255%2C128%2C128%2C0%2C0%2C102%2C204%2C0%2C204%2C204%2C255%2C0%2C0%2C0%2C128%2C0%2C255%2C0%2C255%2C0%2C255%2C255%2C0%2C0%2C0%2C255%2C255%2C0%2C128%2C0%2C128%2C0%2C128%2C0%2C0%2C0%2C0%2C128%2C128%2C0%2C0%2C0%2C255%2C0%2C0%2C204%2C255%2C0%2C204%2C255%2C255%2C0%2C204%2C255%2C204%2C0%2C255%2C255%2C153%2C0%2C153%2C204%2C255%2C0%2C255%2C153%2C204%2C0%2C204%2C153%2C255%2C0%2C255%2C204%2C153%2C0%2C51%2C102%2C255%2C0%2C51%2C204%2C204%2C0%2C153%2C204%2C0%2C0%2C255%2C204%2C0%2C0%2C255%2C153%2C0%2C0%2C255%2C102%2C0%2C0%2C102%2C102%2C153%2C0%2C150%2C150%2C150%2C0%2C0%2C51%2C102%2C0%2C51%2C153%2C102%2C0%2C0%2C51%2C0%2C0%2C51%2C51%2C0%2C0%2C153%2C51%2C0%2C0%2C153%2C51%2C102%2C0%2C51%2C51%2C153%2C0%2C51%2C51%2C51%2C0%2C133%2C0%2C12%2C0%2C66%2C35%2C0%2C0%2C0%2C0%2C2%2C1%2C85%2C83%2C149%2C78%2C133%2C0%2C12%2C0%2C32%2C115%2C0%2C0%2C0%2C0%2C2%2C1%2C252%2C126%2C8%2C84%2C133%2C0%2C12%2C0%2C232%2C175%2C0%2C0%2C0%2C0%2C2%2C1%2C40%2C117%2C55%2C98%2C133%2C0%2C18%2C0%2C244%2C239%2C0%2C0%2C0%2C0%2C5%2C1%2C40%2C117%2C55%2C98%2C8%2C255%2C49%2C0%2C9%2C255%2C140%2C0%2C4%2C0%2C1%2C0%2C1%2C0%2C174%2C1%2C4%2C0%2C4%2C0%2C1%2C4%2C23%2C0%2C26%2C0%2C4%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C1%2C0%2C1%2C0%2C0%2C0%2C2%2C0%2C2%2C0%2C0%2C0%2C3%2C0%2C3%2C0%2C193%2C1%2C8%2C0%2C193%2C1%2C0%2C0%2C97%2C124%2C2%2C0%2C252%2C0%2C236%2C21%2C144%2C5%2C0%2C0%2C236%2C1%2C0%2C0%2C6%2C0%2C1%2C0%2C78%2C1%2C48%2C20%2C108%2C48%2C117%2C31%2C117%2C167%2C78%2C2%2C0%2C1%2C20%2C108%2C48%2C117%2C2%2C0%2C1%2C149%2C78%2C247%2C83%2C4%2C0%2C1%2C31%2C117%2C167%2C78%2C246%2C101%2C244%2C149%2C7%2C0%2C1%2C31%2C117%2C167%2C78%2C40%2C0%2C77%2C0%2C80%2C0%2C97%2C0%2C41%2C0%2C7%2C0%2C1%2C115%2C81%2C149%2C78%2C40%2C0%2C77%2C0%2C80%2C0%2C97%2C0%2C41%2C0%2C6%2C0%2C1%2C167%2C78%2C20%2C108%2C8%2C255%2C109%2C0%2C179%2C0%2C9%2C255%2C6%2C0%2C1%2C167%2C78%2C52%2C108%2C8%2C255%2C109%2C0%2C179%2C0%2C9%2C255%2C5%2C0%2C1%2C167%2C78%2C185%2C108%2C8%2C255%2C116%2C0%2C9%2C255%2C3%2C0%2C1%2C0%2C95%2C149%2C78%2C112%2C101%2C2%2C0%2C1%2C87%2C89%2C139%2C83%2C2%2C0%2C1%2C185%2C108%2C139%2C83%2C1%2C0%2C1%2C229%2C101%2C1%2C0%2C1%2C8%2C103%2C3%2C0%2C1%2C234%2C129%2C65%2C109%2C149%2C78%2C2%2C0%2C1%2C234%2C129%2C50%2C0%2C5%2C0%2C0%2C50%2C52%2C58%2C48%2C48%2C2%2C0%2C1%2C234%2C129%2C51%2C0%2C0%2C0%2C0%2C3%2C0%2C1%2C234%2C129%2C49%2C0%2C48%2C0%2C3%2C0%2C1%2C234%2C129%2C49%2C0%2C53%2C0%2C3%2C0%2C1%2C234%2C129%2C49%2C0%2C54%2C0%2C3%2C0%2C1%2C234%2C129%2C49%2C0%2C56%2C0%2C3%2C0%2C1%2C234%2C129%2C50%2C0%2C49%2C0%2C3%2C0%2C1%2C234%2C129%2C50%2C0%2C51%2C0%2C3%2C0%2C1%2C234%2C129%2C50%2C0%2C52%2C0%2C3%2C0%2C1%2C234%2C129%2C50%2C0%2C54%2C0%2C3%2C0%2C1%2C234%2C129%2C51%2C0%2C52%2C0%2C2%2C0%2C1%2C15%2C92%2C161%2C139%2C2%2C0%2C1%2C156%2C91%2C190%2C91%2C2%2C0%2C1%2C156%2C91%2C50%2C0%2C2%2C0%2C1%2C156%2C91%2C51%2C0%2C2%2C0%2C1%2C156%2C91%2C52%2C0%2C2%2C0%2C1%2C156%2C91%2C54%2C0%2C2%2C0%2C1%2C156%2C91%2C55%2C0%2C3%22 实在太长,都没有完全发出,受发布限制发不出来,简直崩溃,前面可以看出是 url 编码,解码出来时“日报”,后面这一长串不知道是什么,utf-8 解码出现一大串数字,简直崩溃,问问各位大神后面这一坨是什么东西,拜谢


Python中如何识别和解析post请求内容的编码格式?

1 回复

import cgi
from io import BytesIO

def detect_post_encoding(environ):
    """
    检测POST请求的编码格式
    environ: WSGI environ字典,包含请求信息
    返回: (content_type, charset) 元组
    """
    # 方法1: 从Content-Type头部直接解析
    content_type = environ.get('CONTENT_TYPE', '')
    
    # 使用cgi模块解析Content-Type
    parsed = cgi.parse_header(content_type)
    mime_type = parsed[0]
    params = parsed[1]
    
    # 获取charset参数
    charset = params.get('charset', None)
    
    # 方法2: 如果没有明确指定charset,尝试从内容推断
    if not charset and 'CONTENT_LENGTH' in environ:
        try:
            content_length = int(environ['CONTENT_LENGTH'])
            if content_length > 0:
                # 读取请求体
                wsgi_input = environ['wsgi.input']
                body = wsgi_input.read(content_length)
                
                # 重置文件指针位置(重要!)
                wsgi_input.seek(0)
                
                # 尝试常见编码
                for test_charset in ['utf-8', 'gbk', 'gb2312', 'latin-1']:
                    try:
                        body.decode(test_charset)
                        charset = test_charset
                        break
                    except UnicodeDecodeError:
                        continue
                        
        except (ValueError, KeyError):
            pass
    
    return mime_type, charset or 'utf-8'  # 默认utf-8

# 使用示例(在WSGI应用中)
def application(environ, start_response):
    if environ['REQUEST_METHOD'] == 'POST':
        mime_type, charset = detect_post_encoding(environ)
        
        # 根据编码读取数据
        content_length = int(environ.get('CONTENT_LENGTH', 0))
        if content_length > 0:
            body = environ['wsgi.input'].read(content_length)
            
            if mime_type == 'application/x-www-form-urlencoded':
                # 解析表单数据
                from urllib.parse import parse_qs
                data = parse_qs(body.decode(charset))
                
            elif mime_type == 'application/json':
                # 解析JSON数据
                import json
                data = json.loads(body.decode(charset))
                
            elif mime_type.startswith('multipart/form-data'):
                # 处理文件上传
                from cgi import FieldStorage
                data = FieldStorage(
                    fp=BytesIO(body),
                    environ=environ,
                    keep_blank_values=True
                )
            else:
                # 其他类型按文本处理
                data = body.decode(charset)
        
        # ... 处理data ...
        
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return [b'OK']

# Flask/Django中的简化版本
from flask import request

def flask_detect_encoding():
    """在Flask中检测编码"""
    charset = request.content_type.params.get('charset', None)
    if not charset:
        # 尝试推断
        if request.data:
            for test_charset in ['utf-8', 'gbk', 'gb2312']:
                try:
                    request.data.decode(test_charset)
                    charset = test_charset
                    break
                except UnicodeDecodeError:
                    continue
    return charset or request.charset or 'utf-8'

核心要点:

  1. 优先从Content-Type头获取Content-Type: application/json; charset=utf-8
  2. 备选编码推断:当未指定时,按常见编码顺序尝试解码
  3. 框架集成:Flask/Django等框架已封装,可直接用request.charset
  4. 二进制安全:处理文件上传时使用BytesIO

简单总结:先解析头部,再尝试常见编码。

回到顶部