学习indy组件之一idhttp的使用方法

  • 登录
  • 注册
  • 百度首页
 

关于delphi中idhttp网页提交的方法?

2010-03-05 10:13yncg2046 | 浏览 3698 次
  网络
这是一个申请key的页面:https://license.avira.com/en/promotion-hylm9fbv7chaxs8zbl83?id=JVgkM1BNUn

我想要用idhttp.post方法进行自动提交,如下
procedure TForm1.Button1Click(Sender: TObject);
var
sPost, shtml: TStringlist;
sData: TMemoryStream;
begin
sPost := TStringlist.Create;
sData := TMemoryStream.Create;
try
sPost.Add('customerSalutationId=MR');
sPost.Add('customerFirstname=sdjl');
sPost.Add('customerLastname=sfjljkio');
sPost.Add('[email protected]');
sPost.Add('customerCountryId=Italy');
IdHTTP1.Post('https://license.avira.com//en/promotion-hylm9fbv7chaxs8zbl83?id=Y8on000002',
sPost, sData);
except
ShowMessage('error');
sPost.Free;
sData.Free;
end;
sPost.Free;
sData.Free;
end;

但是点击button后出现"无效指针操作"的错误提示,请问问题出现在哪里了,另外提交后返回的应该是一个浏览授权文件的页面,请问应该如何接收这个页面?
 
2010-03-05 14:01 提问者采纳
 
function GetString(tStr,sStr,eStr :string):string;
var
sPos,ePos :integer;
begin
Result := '';
sPos := Pos(sStr,tStr);
if sPos > 0 then
begin
tStr := Copy(tStr,sPos+Length(sStr),Length(tStr)-sPos-Length(sStr)+1);
ePos := Pos(eStr,tStr);
if ePos > 0 then
Result := Copy(tStr,1,ePos-1);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
sl :TStringList;
s :string;
begin
s := Utf8ToAnsi(IdHTTP1.Get('https://license.avira.com/en/promotion-hylm9fbv7chaxs8zbl83'));
s := GetString(s,'
');

sl := TStringList.Create;
try
sl.Add('customerSalutationId=MR_');
sl.Add('customerFirstname=sdjl');
sl.Add('customerLastname=sfjljkio');
sl.Add('[email protected]');
sl.Add('customerCountryId=CN');
sl.Add('buttonActivate=Request license now');
s := Utf8ToAnsi(IdHTTP1.Post('https://license.avira.com/'+s,sl));
if Pos(UpperCase('A license file has been already generated for this email address'),UpperCase(s)) > 0 then
ShowMessage('该邮箱已经使用')
else
begin
s := GetString(s,'License Overview');
s := Utf8ToAnsi(IdHTTP1.Get('https://license.avira.com/en/'+s));
ShowMessage('License No.: ' + GetString(s,'License No.: ',' '));
end;
finally
FreeAndNil(sl);
end;
end;
提问者评价
多谢大哥!
评论 0

学习indy组件之一idhttp的使用方法_第1张图片

cb120520025 | 九级 采纳率57%

擅长: 其他编程语言

为您推荐:

idhttp的相关知识

  • 2009-11-22Identifier redeclared: 'idhttp' delphi 2
  • 2010-01-10delphi idhttp.post的问题 7
  • 2011-01-20cookie是什么意思 819
  • 2010-02-05delphi技术IdHttp控件 2
  • 2012-12-04idhttp.post问题(delphi7)
更多关于 idhttp的问题>>

等待您来回答

  • 0回答 30 云南腾晋物流股份有限公司仓储中心石山强挖土石方—001标段 
  • 0回答 20 哪里可以下载delphi6实务经典的配套光盘?
  • 0回答在县城开跨境电商体验店好做吗? 
  • 0回答 30 红桥 五矿 兴文 这一代有人看到这辆摩托车吗川q938c6白色的钱... 
  • 0回答 30 从大渡口到北碚城南双元大道88号阳光华府加油站如何走 
  • 0回答 30 从东莞大朗去广州嘉禾要多久 
  • 0回答 30 云南腾晋物流股份有限公司仓储中心石山强挖土石方—001标段 
  • 0回答 15 delphi 要给datetimepicker控件加上背景图,只要加在控件上,控...
  • 1回答 20 电商送货后私自打开包装,发现货品损坏,如何维权 
  • 0回答中国五矿集团公司投资水口山 
  • 0回答 30 请问在大渡口镇火炬住宅区购置二手房能亨受政府补贴吗? 
  • 0回答 30 嘉禾橙天影院 蚁人什么时候放
  • 0回答 30 别的公可以加入宁波好国际物流发展股份有限公司跨境购项目吗... 
  • 1回答 20 Delphi7中如何将edt的文字右对齐
  • 0回答 20 智尚s30电商版有天窗吗 
更多等待您来回答的问题>>

知道日报

2015.08.12往期回顾
 
登录 

还没有百度账号?立即注册

 

学习indy组件之一idhttp的使用方法_第4张图片

 
学习indy组件之一idhttp的使用方法_第5张图片
 
 
任务列表 new

你可能感兴趣的:(学习indy组件之一idhttp的使用方法)