用HttpWatch截获的一段Post数据如下:
__EVENTVALIDATION=/wEWCALeg6UxAo7npMwPAtjHmdIPArWptJELAoLch4YMAuzRgtgJAsaut8MJAsKu68IKnHmnsszy9pkabo7yXfPeXpEUNQE=
__VIEWSTATE=/wEPDwUKLTc3MTU4NDgwMg9kFgICAw9kFgICCw88KwANAQAPFgYeC18hRGF0YUJvdW5kZx4JUGFnZUNvdW50AgQeC18hSXRlbUNvdW50AgpkFgJmD2QWDGYPDxYCHgdWaXNpYmxlaGRkAgEPZBYIZg8PFgIeBFRleHQFEzIwMTEtMDItMjIgMTc6MDA6NDJkZAIBDw8WAh8EBQsxODY2NTAwMzUzNmRkAgIPDxYCHwQFAzEwMGRkAgMPDxYCHwQFCDQ4MDg5Ljc4ZGQCAg9kFghmDw8WAh8EBRMyMDExLTAyLTIyIDE3OjAwOjI4ZGQCAQ8PFgIfBAULMTg2ODg2MjY3MTZkZAICDw8WAh8EBQMyMDBkZAIDDw8WAh8EBQg0ODE4OS43OGRkAgMPZBYIZg8PFgIfBAUTMjAxMS0wMi0yMiAxNjo1ODoyNmRkAgEPDxYCHwQFCzE4Njc2OTcwOTg0ZGQCAg8PFgIfBAUDMTAwZGQCAw8PFgIfBAUINDgzODkuNzhkZAIEDw8WAh8DaGRkAgUPZBYCZg9kFgoCAQ8PFgIfBAUBMWRkAgMPDxYCHwQFATRkZAIFDw8WAh8EBQIxMGRkAgcPDxYCHgdFbmFibGVkaGRkAgkPDxYCHwVoZGQYAQUJR3JpZFZpZXcxD2dkBizm7lCEbDyheUA1FYcC9HmzPYQ=__EVENTVALIDATION和__VIEWSTATE是怎么编码的?都是以/w开头,以=号结尾,有没有人了解这种编码?我需要对这些数据进行解码,重新装配数据,然后编码Post到服务器上去.附上报文头:
POST /Web/ChargeManage/Deposit.aspx HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*
Referer: http://202.104.124.197:8080/Web/ChargeManage/Deposit.aspx
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)
Host: 202.104.124.197:8080
Content-Length: 1006
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: AspxAutoDetectCookieSupport=1; ASP.NET_SessionId=w1mlcuna5ctd5v45a0agnwez; CheckCode=8788

解决方案 »

  1.   

    不知道这种数据是否也是用gzip压缩来post的?get的话肯定是gzip的
      

  2.   

    由此推断肯定是Base64编码的了~~
      

  3.   

    这是HTTP规定的了~~
    网上有很多Base64编码和解码的例子,你可以试试~~
      

  4.   

    我看Base64编码的数据末尾都有一个或两个=号.并且我上面的两段Post数据都是以/wE开头,
    我尝试过用Base64解码,去掉/,或去掉/w,/wE解码生成的都是乱码.然后我再将这些乱码进行utf解码,得到的还是乱码.郁闷哎.
      

  5.   

    http://www.cnblogs.com/aspsir/archive/2006/08/01/465318.html
    虽然说的是压缩,但已经说清楚了 __VIEWSTATE 是如何产生的,你可以用 reflector 去看看原始的 SavePageStateToPersistenceMedium() 是如何编码的。
      

  6.   

    报文中确实有Accept-Encoding: gzip, deflate,现在在找zlib的资料,试着解码看看 
      

  7.   


    根本不是gzip,你别白忙活了