idhttp提交出现http/1.1 405 method not allowed(xe,indy10)

cs_winner 2013-09-06 05:09:24
我用idhttp登录一个https的网站,主要代码如下:
IdHTTP1.AllowCookies := False;
IdHTTP1.ReadTimeout := 20000;
IdHTTP1.Request.Host := 'upay.10010.com';
//设置cookie,我是先用webbrower获取的登录页cookie,验证码也取到了,
IdHTTP1.Request.CustomHeaders.Text :='Cookie: '+WebBrowser1.OleObject.document.cookie;
IdHTTP1.Request.Referer := 'https://upay.10010.com/web/BankCharge/BankChargeInit'; //请求来路
IdHTTP1.Request.AcceptEncoding := 'gzip, deflate';
IdHTTP1.Request.AcceptLanguage := 'zh-cn,utf-8;q=0.5';
IdHTTP1.Request.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/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*';//接收
IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;'
+' SV1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52;'
+' .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; InfoPath.2)';
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';//接收内容类型

IdHTTP1.AllowCookies := True;

//构建信息数据,按抓包格式填写
PfData := TStringList.Create;
response := '';
try
PfData.Clear;

PfData.Add('secstate.state='+ secstate); //页面状态值
PfData.Add('bankChargeBean.payFee=20'//应支付金额,实际金额
PfData.Add('bankChargeBean.cardValue=2000'); //卡面值
PfData.Add('bankChargeBean.cardValueCode=01'); //面值代码 01
PfData.Add('bankChargeBean.userTel=13166731126');//'+ lvcz.Items[0].SubItems[1]); //电话
PfData.Add('bankChargeBean.regionCode=');
PfData.Add('bankChargeBean.netType =01');//
//20元卡
PfData.Add('cardValueHidden=2000'); //面值
PfData.Add('cardValCodeHidden=01'); //代码
PfData.Add('offerPriceStrHidden=19.70'); //实际金额
//30元卡
PfData.Add('cardValueHidden=3000');
PfData.Add('cardValCodeHidden=02');
PfData.Add('offerPriceStrHidden=29.55');
//50元卡
PfData.Add('cardValueHidden=5000');
PfData.Add('cardValCodeHidden=03');
PfData.Add('offerPriceStrHidden=49.25');
//100元卡
PfData.Add('cardValueHidden=10000');
PfData.Add('cardValCodeHidden=04');
PfData.Add('offerPriceStrHidden=98.50');
//300元卡
PfData.Add('cardValueHidden=30000');
PfData.Add('cardValCodeHidden=05');
PfData.Add('offerPriceStrHidden=295.50');

PfData.Add('numbean.userNumBean.netType=');
PfData.Add('numbean.userNumBean.regionCode=');
PfData.Add('numbean.userNumBean.userSelNum=1');
PfData.Add('numbean.userNumBean.otherNum=13166731126'); //电话号
PfData.Add('verifyCode='+ vfcode); //验证码
PfData.Add('numbean.cityCodeBean.provinceId =');
PfData.Add('numbean.cityCodeBean.cityId=');
PfData.Add('cardValCodeHidden=');
PfData.Add('numbean.cityCodeBean.cityCode=');
PfData.Add('numbean.userNumBean.telNum=');

datastr := TStringStream.Create('');
// PfData.Add('czMoney='+ RMB_20);
IdHTTP1.Post(POSTURL_BANKAPPLY, PfData, datastr);//到这里出异常 http/1.1 405 当前的post方法不允许,但是截取包就是这么提交的。
datastr.Free;
大神们帮助看看.
...全文
759 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs_winner 2013-09-06
  • 打赏
  • 举报
回复
idhttp1实现已经初始化过 IdHTTP1.ReadTimeout := 30000; //超时 IdHTTP1.HandleRedirects := True; //支持重定向 IdHTTP1.Request.CacheControl := 'no-cache'; //不缓存 IdHTTP1.Request.AcceptEncoding := '';// 'gzip, deflatee'; 压缩格式,如果不需要,就置空 IdHTTP1.Request.Host := HOSTURL; //主机网址 IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions + [hoKeepOrigProtocol];//设置协议 IdHTTP1.ProtocolVersion := pv1_1; IdHTTP1.Request.Connection := 'Keep-Alive';
cs_winner 2013-09-06
  • 打赏
  • 举报
回复
补充下POSTURL_BANKAPPLY是'https://upay.10010.com/web/BankCharge/BankChargeApply.action'.

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧