procedure TForm1.BitBtn5Click(Sender: TObject);
var  
IdHTTP_TreatGet:TIDHTTP;
  aData : array[0..1023] of Char;
  dLength : DWORD;
RData_TreatGet,RData_TreatPost:string;FormParam:TStringStream;OpenTarSrc:boolean;
UrlRPCount:integer;
  SFlag,SStartFlag,SEndFlag:string;
  VIEWSTATE:string;begin
  IdHTTP_TreatGet:=TIdHTTP.Create(nil);
  IdHTTP_TreatGet.AllowCookies:=true;
  IdHTTP_TreatGet.HandleRedirects := True;
  IdHTTP_TreatGet.ReadTimeout:=30000;
  IdHTTP_TreatGet.HTTPOptions:=IdHTTP_TreatGet.HTTPOptions+[hoKeepOrigProtocol];//关键这行
  IdHTTP_TreatGet.ProtocolVersion:=pv1_1;
  IdHTTP_TreatGet.Request.ContentType:='application/x-www-form-urlencoded';
      IdHTTP_TreatGet.Request.CustomHeaders.Clear;
      FillChar(aData,Length(aData),#0);
      if InternetGetCookie(PChar('http://www.jcard.cn'),nil,@aData,dLength) then
      begin
        IdHTTP_TreatGet.Request.CustomHeaders.Text := 'Cookie:' + aData;
      end;
      UrlRPCount:=0;
      repeat
        UrlRPCount:=UrlRPCount+1;
        try
  
          try
            RData_TreatGet:=IdHTTP_TreatGet.Get('http://www.jcard.cn/Charge/UCardDirectCharge.aspx?category=AAWYVVWYKV&product=AAWYVVWYKV030CV');
            if PosEx('点卡类型',RData_TreatGet)=0 then
            begin
              OpenTarSrc := false;
            end else
            begin
              OpenTarSrc := True; 
            end;
          except
            OpenTarSrc := False;
          end; 
        finally
          //
        end;
      until (UrlRPCount>5) or (OpenTarSrc=true);      if OpenTarSrc=true then
      begin
      
        FormParam:=TStringStream.Create('');
        SFlag:='name="__VIEWSTATE"';
        SStartFlag:='value="';
        SEndFlag:='"';
        VIEWSTATE:=ZXSearch(RData_TreatGet,SFlag,SStartFlag,SEndFlag);
        
        VIEWSTATE:=StringReplace(VIEWSTATE,'/','%2F',[rfReplaceAll]);
        VIEWSTATE:=StringReplace(VIEWSTATE,'+','%2B',[rfReplaceAll]);        FormParam.WriteString('__VIEWSTATE='+VIEWSTATE+'&');        FormParam.WriteString('__EVENTTARGET=&');
        FormParam.WriteString('__EVENTARGUMENT=&');
        FormParam.WriteString('__LASTFOCUS=&');                //填写的次序不能变;               FormParam.WriteString('ctl00%24rblSaleType=3&');
        FormParam.WriteString('cctl00%24cboProductList=AAWYVVWYKV030CV&');        FormParam.WriteString('ctl00%24cboProductNum=1&');
        FormParam.WriteString('ctl00%24junUCard%24FirstUCardNo=8022122121113087&');
        FormParam.WriteString('ctl00%24junUCard%24FirstUCardPassword=0489930033231919&');        FormParam.WriteString('ctl00%24junUCard%24SecondUCardNo=&');
        FormParam.WriteString('ctl00%24junUCard%24SecondUCardPassword=&');        FormParam.WriteString('ctl00%24junUCard%24ThirdUCardNo=&');
        FormParam.WriteString('ctl00%24junUCard%24ThirdUCardPassword=&');        FormParam.WriteString('ctl00%24MiddleTemplate%24junCharge%24cboRegion=1&');
        FormParam.WriteString('ctl00%24MiddleTemplate%24junCharge%24hidRegionName=%CD%F8%D2%D7%B2%FA%C6%B7%B3%E4%D6%B5%B7%FE%CE%F1%C6%F7&');
        FormParam.WriteString('ctl00%24MiddleTemplate%24junCharge%24hidRegionCode=1&');        FormParam.WriteString('ctl00%24MiddleTemplate%24junCharge%24cboServer=1&');
        FormParam.WriteString('ctl00%24MiddleTemplate%24junCharge%24hidServerName=%D3%CE%CF%B7%D5%CB%BA%C5%B3%E4%D6%B5%B5%E3%CA%FD%28%D3%CE%CF%B7%CA%B1%BC%E4%29&');
        FormParam.WriteString('ctl00%24MiddleTemplate%24junCharge%24hidServerCode=1&');        FormParam.WriteString('ctl00%24MiddleTemplate%24junCharge%24txtUserAccount=fynicbiz&');
        FormParam.WriteString('ctl00%24MiddleTemplate%24junCharge%24txtUserAccountOk=fynicbiz&');        FormParam.WriteString('ctl00%24MiddleTemplate%24txtRandomCode=59002&');        FormParam.WriteString('ctl00%24txtEmail=&');
        FormParam.WriteString('ctl00%24MiddleTemplate%24ibtnOK.x=10&');
        FormParam.WriteString('ctl00%24MiddleTemplate%24ibtnOK.y=20&');
         IdHTTP_TreatGet.Request.Referer:='http://www.jcard.cn/Charge/UCardDirectCharge.aspx?category=AAWYVVWYKV&product=AAWYVVWYKV030CV';          RData_TreatPost:=IdHTTP_TreatGet.Post('http://www.jcard.cn/Charge/UCardDirectCharge.aspx?category=AAWYVVWYKV&product=AAWYVVWYKV030CV',FormParam);        Memo1.Lines.Add(RData_TreatPost);        FormParam.Free;
        IdHTTP_TreatGet.Free;      end;
          
end;

解决方案 »

  1.   

    以上程序返回错误信息:HTTP/1.1 500 Internal Server Error. 一直都无法解决,求助各位高手,我分别抓了浏览器发送的包和自己程序发送的,除了头信息不一样,其它都一样,但是那些不一样的好像都是没有关键作用的。正常包信息:POST /Charge/UCardDirectCharge.aspx?category=AAWYVVWYKV&product=AAWYVVWYKV030CV HTTP/1.1
    Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*
    Referer: http://www.jcard.cn/Charge/UCardDirectCharge.aspx?category=AAWYVVWYKV&product=AAWYVVWYKV030CV
    Accept-Language: zh-cn
    Content-Type: application/x-www-form-urlencoded
    UA-CPU: x86
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727)
    Host: www.jcard.cn
    Content-Length: 3737
    Connection: Keep-Alive
    Cache-Control: no-cache
    Cookie: userinfo1=username=璧栨柊鏄?useridcard=&email=&phone=&buynote=; ASP.NET_SessionId=mpyuwlilvblx2ziwb1wtjy45; __utma=231657348.1831452228.1208460322.1209489576.1209489732.50; __utmz=231657348.1208460322.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=%2FwEPDwUJOTM4NDM0OTg1DxYEHhNDdXJyZW50Q2F0ZWdvcnlDb2RlBQpBQVdZVlZXWUtWHhJEZWZhdWx0UHJvZHVjdENvZGUFD0FBV1lWVldZS1YwMzBDVhYCZg8PFgQfAAUKQUFXWVZWV1lLVh4TTWFzdGVyVHJhZGVCaWxsVHlwZQIEZBYCAgMPZBYEAgEPDxYCHgRUZXh0BUDnvZHmmJPlhYXlgLzkuIDljaHpgJoo5aSn6K%2BdMy%2FlpKfor53ihaEv5qKm5bm7L%2BWkp%2BWUkC%2FlpKnkuIvotLApZGQCAg9kFgRmD2QWAmYPZBYCAgEPDxYCHgxDYXRlZ29yeUNvZGUFCkFBV1lWVldZS1ZkZAIBD2QWAmYPZBYUZg8QZGQWAWZkAgEPEA8WCh4aY2JvUHJvZHVjdExpc3RDYXRlZ29yeUNvZGUFCkFBV1lWVldZS1YeIGNib1Byb2R1Y3RMaXN0RGVmYXVsdFByb2R1Y3RDb2RlBQ9BQVdZVlZXWUtWMDMwQ1YeG2Nib1Byb2R1Y3RMaXN0SlBvaW50TGFiZWxJRAUPY3RsMDBfbGJsSlBvaW50HhpjYm9Qcm9kdWN0TGlzdFByb2R1Y3ROdW1JRAUTY3RsMDBfY2JvUHJvZHVjdE51bR4cY2JvUHJvZHVjdExpc3RQcm9kdWN0VXNlVHlwZQIDFgIeCG9uY2hhbmdlBTxKYXZhc2NyaXB0OmNhbGNKUG9pbnQoKTtfZG9Qcm9kdWN0RHJvcERvd25MaXN0T3RoZXJDaGFuZ2UoKTsQFQYULeivt%2BmAieaLqeWNoeexu%2BWeiy04NeWFgy01MOeCuSjnm7TlhYXngrnmlbAv5a%2BE5ZSuKe%2B8iOadg%2BmZkDXlhYPljaHlhYXlgLzvvIkgNuWFgy02MOeCuSjnm7TlhYXngrnmlbAv5a%2BE5ZSuKSAhMTDlhYMtMTAw54K5KOebtOWFheeCueaVsC%2Flr4TllK4pITMw5YWDLTMwMOeCuSjnm7TlhYXngrnmlbAv5a%2BE5ZSuKSE1MOWFgy01MDDngrko55u05YWF54K55pWwL%2BWvhOWUrikVBgAPQUFXWVZWV1lLVjAwNUNWD0FBV1lWVldZS1ZBMDZDVg9BQVdZVlZXWUtWMDEwQ1YPQUFXWVZWV1lLVjAzMENWD0FBV1lWVldZS1YwNTBDVhQrAwZnZ2dnZ2cWAQIEZAIDDw8WAh8DBQ%2FlhYXlgLzmrKHmlbDvvJpkZAIFDw8WAh8DBRXlhYXlgLzor6XljaHnmoTmrKHmlbBkZAIGD2QWBmYPEA9kFgIeB29uQ2xpY2sFJV9vblVDYXJkTnVtU2VsZWN0ZWRJbmRleENoYW5nZWQodGhpcylkZGQCAQ8QD2QWAh8LBSVfb25VQ2FyZE51bVNlbGVjdGVkSW5kZXhDaGFuZ2VkKHRoaXMpZGRkAgIPEA9kFgIfCwUlX29uVUNhcmROdW1TZWxlY3RlZEluZGV4Q2hhbmdlZCh0aGlzKWRkZAIHD2QWDGYPFgIeB1Zpc2libGVoZAIBDxYCHwxoZAICDxYCHwxoZAIDDxYCHwxoZAIEDxYCHwxoZAIFDw8WBB4VanVuQ2hhcmdlQ2F0ZWdvcnlDb2RlBQpBQVdZVlZXWUtWHhFqdW5DaGFyZ2VIYXNFcnJvcmhkFggCAg8QDxYEHghDc3NDbGFzcwUMY2hhbnBpbmlucHV0HgRfIVNCAgIWAh4Ib25DaGFuZ2UFZl9yZWdpb25PbkNoYW5nZSgnY3RsMDBfTWlkZGxlVGVtcGxhdGVfanVuQ2hhcmdlX2Nib1JlZ2lvbicsJ2N0bDAwX01pZGRsZVRlbXBsYXRlX2p1bkNoYXJnZV9jYm9TZXJ2ZXInKRAVARvnvZHmmJPkuqflk4HlhYXlgLzmnI3liqHlmagVAQExFCsDAWdkZAIHDxAPFgQfDwUMY2hhbnBpbmlucHV0HxACAmQQFQMULeivt%2BmAieaLqeacjeWKoeWZqC0m5ri45oiP6LSm5Y%2B35YWF5YC854K55pWwKOa4uOaIj%2BaXtumXtCke5a%2BE5ZSu54K55Y2h5Lqk5piT5ri45oiP6LSn5biBFQMAATEBMhQrAwNnZ2dkZAIMDw8WBB8PBQxjaGFucGluaW5wdXQfEAICZGQCEA8PFgQfDwUMY2hhbnBpbmlucHV0HxACAmRkAgwPDxYCHgtOYXZpZ2F0ZVVybAUTaHR0cDovL3d3dy4xNjMuY29tL2RkAg0PDxYCHxJlZGQCDg8PFgIfEmVkZAIPDw8WAh8SZWRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYGBRtjdGwwMCRqdW5VQ2FyZCRPbmVVQ2FyZFR5cGUFG2N0bDAwJGp1blVDYXJkJFR3b1VDYXJkVHlwZQUbY3RsMDAkanVuVUNhcmQkVHdvVUNhcmRUeXBlBR1jdGwwMCRqdW5VQ2FyZCRUaHJlZVVDYXJkVHlwZQUdY3RsMDAkanVuVUNhcmQkVGhyZWVVQ2FyZFR5cGUFG2N0bDAwJE1pZGRsZVRlbXBsYXRlJGlidG5PS0ZQRYPWTwoMd2ROzPQo3l42yUdE&ctl00%24rblSaleType=3&ctl00%24cboProductList=AAWYVVWYKV030CV&ctl00%24cboProductNum=1&ctl00%24junUCard%24FirstUCardNo=8022122121113087&ctl00%24junUCard%24FirstUCardPassword=0489930033231919&ctl00%24junUCard%24SecondUCardNo=&ctl00%24junUCard%24SecondUCardPassword=&ctl00%24junUCard%24ThirdUCardNo=&ctl00%24junUCard%24ThirdUCardPassword=&ctl00%24MiddleTemplate%24junCharge%24cboRegion=1&ctl00%24MiddleTemplate%24junCharge%24hidRegionName=%CD%F8%D2%D7%B2%FA%C6%B7%B3%E4%D6%B5%B7%FE%CE%F1%C6%F7&ctl00%24MiddleTemplate%24junCharge%24hidRegionCode=1&ctl00%24MiddleTemplate%24junCharge%24cboServer=1&ctl00%24MiddleTemplate%24junCharge%24hidServerName=%D3%CE%CF%B7%D5%CB%BA%C5%B3%E4%D6%B5%B5%E3%CA%FD%28%D3%CE%CF%B7%CA%B1%BC%E4%29&ctl00%24MiddleTemplate%24junCharge%24hidServerCode=1&ctl00%24MiddleTemplate%24junCharge%24txtUserAccount=fynicbiz&ctl00%24MiddleTemplate%24junCharge%24txtUserAccountOk=fynicbiz&ctl00%24MiddleTemplate%24txtRandomCode=59002&ctl00%24txtEmail=&ctl00%24MiddleTemplate%24ibtnOK.x=89&ctl00%24MiddleTemplate%24ibtnOK.y=16
      

  2.   

    自己程序包信息:POST /Charge/UCardDirectCharge.aspx?category=AAWYVVWYKV&product=AAWYVVWYKV030CV HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 3739
    Host: www.jcard.cn
    Accept: text/html, */*
    Accept-Encoding: identity
    Referer: http://www.jcard.cn/Charge/UCardDirectCharge.aspx?category=AAWYVVWYKV&product=AAWYVVWYKV030CV
    User-Agent: Mozilla/3.0 (compatible; Indy Library)
    Cookie: ASP.NET_SessionId=n5ycm4nckyjbgtufba4mx5nq__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=%2FwEPDwUJOTM4NDM0OTg1DxYEHhNDdXJyZW50Q2F0ZWdvcnlDb2RlBQpBQVdZVlZXWUtWHhJEZWZhdWx0UHJvZHVjdENvZGUFD0FBV1lWVldZS1YwMzBDVhYCZg8PFgQfAAUKQUFXWVZWV1lLVh4TTWFzdGVyVHJhZGVCaWxsVHlwZQIEZBYCAgMPZBYEAgEPDxYCHgRUZXh0BUDnvZHmmJPlhYXlgLzkuIDljaHpgJoo5aSn6K%2BdMy%2FlpKfor53ihaEv5qKm5bm7L%2BWkp%2BWUkC%2FlpKnkuIvotLApZGQCAg9kFgRmD2QWAmYPZBYCAgEPDxYCHgxDYXRlZ29yeUNvZGUFCkFBV1lWVldZS1ZkZAIBD2QWAmYPZBYUZg8QZGQWAWZkAgEPEA8WCh4aY2JvUHJvZHVjdExpc3RDYXRlZ29yeUNvZGUFCkFBV1lWVldZS1YeIGNib1Byb2R1Y3RMaXN0RGVmYXVsdFByb2R1Y3RDb2RlBQ9BQVdZVlZXWUtWMDMwQ1YeG2Nib1Byb2R1Y3RMaXN0SlBvaW50TGFiZWxJRAUPY3RsMDBfbGJsSlBvaW50HhpjYm9Qcm9kdWN0TGlzdFByb2R1Y3ROdW1JRAUTY3RsMDBfY2JvUHJvZHVjdE51bR4cY2JvUHJvZHVjdExpc3RQcm9kdWN0VXNlVHlwZQIDFgIeCG9uY2hhbmdlBTxKYXZhc2NyaXB0OmNhbGNKUG9pbnQoKTtfZG9Qcm9kdWN0RHJvcERvd25MaXN0T3RoZXJDaGFuZ2UoKTsQFQYULeivt%2BmAieaLqeWNoeexu%2BWeiy04NeWFgy01MOeCuSjnm7TlhYXngrnmlbAv5a%2BE5ZSuKe%2B8iOadg%2BmZkDXlhYPljaHlhYXlgLzvvIkgNuWFgy02MOeCuSjnm7TlhYXngrnmlbAv5a%2BE5ZSuKSAhMTDlhYMtMTAw54K5KOebtOWFheeCueaVsC%2Flr4TllK4pITMw5YWDLTMwMOeCuSjnm7TlhYXngrnmlbAv5a%2BE5ZSuKSE1MOWFgy01MDDngrko55u05YWF54K55pWwL%2BWvhOWUrikVBgAPQUFXWVZWV1lLVjAwNUNWD0FBV1lWVldZS1ZBMDZDVg9BQVdZVlZXWUtWMDEwQ1YPQUFXWVZWV1lLVjAzMENWD0FBV1lWVldZS1YwNTBDVhQrAwZnZ2dnZ2cWAQIEZAIDDw8WAh8DBQ%2FlhYXlgLzmrKHmlbDvvJpkZAIFDw8WAh8DBRXlhYXlgLzor6XljaHnmoTmrKHmlbBkZAIGD2QWBmYPEA9kFgIeB29uQ2xpY2sFJV9vblVDYXJkTnVtU2VsZWN0ZWRJbmRleENoYW5nZWQodGhpcylkZGQCAQ8QD2QWAh8LBSVfb25VQ2FyZE51bVNlbGVjdGVkSW5kZXhDaGFuZ2VkKHRoaXMpZGRkAgIPEA9kFgIfCwUlX29uVUNhcmROdW1TZWxlY3RlZEluZGV4Q2hhbmdlZCh0aGlzKWRkZAIHD2QWDGYPFgIeB1Zpc2libGVoZAIBDxYCHwxoZAICDxYCHwxoZAIDDxYCHwxoZAIEDxYCHwxoZAIFDw8WBB4VanVuQ2hhcmdlQ2F0ZWdvcnlDb2RlBQpBQVdZVlZXWUtWHhFqdW5DaGFyZ2VIYXNFcnJvcmhkFggCAg8QDxYEHghDc3NDbGFzcwUMY2hhbnBpbmlucHV0HgRfIVNCAgIWAh4Ib25DaGFuZ2UFZl9yZWdpb25PbkNoYW5nZSgnY3RsMDBfTWlkZGxlVGVtcGxhdGVfanVuQ2hhcmdlX2Nib1JlZ2lvbicsJ2N0bDAwX01pZGRsZVRlbXBsYXRlX2p1bkNoYXJnZV9jYm9TZXJ2ZXInKRAVARvnvZHmmJPkuqflk4HlhYXlgLzmnI3liqHlmagVAQExFCsDAWdkZAIHDxAPFgQfDwUMY2hhbnBpbmlucHV0HxACAmQQFQMULeivt%2BmAieaLqeacjeWKoeWZqC0m5ri45oiP6LSm5Y%2B35YWF5YC854K55pWwKOa4uOaIj%2BaXtumXtCke5a%2BE5ZSu54K55Y2h5Lqk5piT5ri45oiP6LSn5biBFQMAATEBMhQrAwNnZ2dkZAIMDw8WBB8PBQxjaGFucGluaW5wdXQfEAICZGQCEA8PFgQfDwUMY2hhbnBpbmlucHV0HxACAmRkAgwPDxYCHgtOYXZpZ2F0ZVVybAUTaHR0cDovL3d3dy4xNjMuY29tL2RkAg0PDxYCHxJlZGQCDg8PFgIfEmVkZAIPDw8WAh8SZWRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYGBRtjdGwwMCRqdW5VQ2FyZCRPbmVVQ2FyZFR5cGUFG2N0bDAwJGp1blVDYXJkJFR3b1VDYXJkVHlwZQUbY3RsMDAkanVuVUNhcmQkVHdvVUNhcmRUeXBlBR1jdGwwMCRqdW5VQ2FyZCRUaHJlZVVDYXJkVHlwZQUdY3RsMDAkanVuVUNhcmQkVGhyZWVVQ2FyZFR5cGUFG2N0bDAwJE1pZGRsZVRlbXBsYXRlJGlidG5PS0ZQRYPWTwoMd2ROzPQo3l42yUdE&ctl00%24rblSaleType=3&cctl00%24cboProductList=AAWYVVWYKV030CV&ctl00%24cboProductNum=1&ctl00%24junUCard%24FirstUCardNo=8022122121113087&ctl00%24junUCard%24FirstUCardPassword=0489930033231919&ctl00%24junUCard%24SecondUCardNo=&ctl00%24junUCard%24SecondUCardPassword=&ctl00%24junUCard%24ThirdUCardNo=&ctl00%24junUCard%24ThirdUCardPassword=&ctl00%24MiddleTemplate%24junCharge%24cboRegion=1&ctl00%24MiddleTemplate%24junCharge%24hidRegionName=%CD%F8%D2%D7%B2%FA%C6%B7%B3%E4%D6%B5%B7%FE%CE%F1%C6%F7&ctl00%24MiddleTemplate%24junCharge%24hidRegionCode=1&ctl00%24MiddleTemplate%24junCharge%24cboServer=1&ctl00%24MiddleTemplate%24junCharge%24hidServerName=%D3%CE%CF%B7%D5%CB%BA%C5%B3%E4%D6%B5%B5%E3%CA%FD%28%D3%CE%CF%B7%CA%B1%BC%E4%29&ctl00%24MiddleTemplate%24junCharge%24hidServerCode=1&ctl00%24MiddleTemplate%24junCharge%24txtUserAccount=fynicbiz&ctl00%24MiddleTemplate%24junCharge%24txtUserAccountOk=fynicbiz&ctl00%24MiddleTemplate%24txtRandomCode=59002&ctl00%24txtEmail=&ctl00%24MiddleTemplate%24ibtnOK.x=10&ctl00%24MiddleTemplate%24ibtnOK.y=20&请求高手协助调试分析,谢谢。
      

  3.   

    目前认为无法post跟idhttp预读页面时无法获取 __utma 等参数有关
      

  4.   

    以上程序返回错误信息:HTTP/1.1 500 Internal Server Error.  
    好像是服务器异常 还是看先服务器 Error级的错误异常吧 
      

  5.   

    服务器肯定是没有问题的,正常运行的,通过IE提交数据是OK的。