关于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('customerEmail=sdfsdfjoj@qq.com');
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('customerEmail=sdfsdfjoj@qq.com');
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;
提问者评价
多谢大哥!
评论 | 7 0

cb120520025 | 九级 采纳率57%

擅长: 其他编程语言

为您推荐:

等待您来回答

知道日报

2015.08.12往期回顾

713
 
 
登录

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

 
 
 

 

 
 

学习indy组件之一idhttp的使用方法的更多相关文章

  1. [ExtJS5学习笔记]第七节 Extjs5的组件components及其模板事件方法学习

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/38487519 本文作者:sushengmiyan ------------------ ...

  2. Hadoop YARN学习之组件功能简述(3)

    Hadoop YARN学习之组件功能简述(3) 1. YARN的三大组件功能简述: ResourceManager(RM)是集群的资源的仲裁者, 它有两部分:一个可插拔的调度器和一个Applicati ...

  3. Vue学习之组件切换及父子组件小结(八)

    一.组件切换: 1.v-if与v-else方式: <!DOCTYPE html> <html lang="en"> <head> <met ...

  4. Jetpack Compose学习(5)——从登录页美化开始学习布局组件使用

    原文:Jetpack Compose学习(5)--从登录页美化开始学习布局组件使用 | Stars-One的杂货小窝 本篇主要讲解常用的布局,会与原生Android的布局控件进行对比说明,请确保了解A ...

  5. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  6. C#学习笔记(八):扩展方法

    还记得第一次使用DOTween时,发现缓动方法竟然是可以直接用Transform对象中调用到,当时就被震撼到了(那是还是C#小白一只).好了不多说了,今天来学习一下C#的这个特性——扩展方法. 扩展方 ...

  7. Linux下查看内核、CPU、内存及各组件版本的命令和方法

    Linux下查看内核.CPU.内存及各组件版本的命令和方法 Linux查看内核版本: uname -a                        more /etc/*release       ...

  8. AspUpload组件的安装及使用方法介绍

    http://soft.huweishen.com/soft/47.html AspUpload对ASP编程人员来说要实现ASP网站文件上传功能它是首选.本文就为大家介绍一下AspUpload组件的安 ...

  9. VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法

    VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法 今天在单位电脑安装VS2008,当安装到“Visual Studio Web 创作组件”时出现错误. 准备手动安装 ...

随机推荐

  1. Struts2学习笔记(拦截器配置添加)

    一.拦截器工作原理: 根据Struts2的工作原理图,拦截器在action执行前进行顺序调用,之后执行Action并返回结果字符串,再逆序调用拦截器.(结构类似递归方式...)大部分时候,拦截器方法都 ...

  2. ubuntu 非常简单的方式安装多个perl版本

    参考http://stackoverflow.com/questions/22934080/how-to-downgrade-to-perl-5-10-1 Perlbrew will allow yo ...

  3. java虚拟机之引用

    强引用: 类似:object A=new Object();这样的引用,只要强引用还存在,垃圾回收期就永远不会回收被引用的对象,eg:这里的new Oject().   软引用: 一些还有用,但是非必 ...

  4. win10 mysql 5.7.13 服务无法启动 3534

    自己也百度了很多方法都不管用(我用的MySQL是免安装版,直接解压缩的那种) 基本上都是说没有设置data目录,没有 初始化,我很郁闷的是都按照那些步骤处理了,到最后还是不行. 后来把配置文件里面的 ...

  5. 转载《SimpleAdapter的参数说明》

    SimpleAdapter的参数说明 第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要 第二个参数表示生成一个Map(String ,Object)列表选项 第三个参数表示界 ...

  6. 用C#,SQL Server编写的音乐播放软件

    主界面代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...

  7. Monkey工具使用详解

    上节中介绍了Monkey工具使用环境的搭建,传送门..本节我将详细介绍Monkey工具的使用. 一.Monkey测试简介 Monkey测试是Android平台自动化的一种手段,通过Monkey程序模拟 ...

  8. [BZOJ 3637]Query on a tree VI

    偶然看见了这题,觉得自己 QTREE.COT 什么的都没有刷过的真是弱爆了…… 一道思路很巧妙的题,终于是在约大爷的耐心教导下会了,真是太感谢约大爷了. 这题显然是树链剖分,但是链上维护的东西很恶心. ...

  9. ApiResponse 在 Swagger 1 和Swagger 2中的不同

    在1中随意写code , 在 2中 会提示 com.google.common.util.concurrent.UncheckedExecutionException: java.lang.Illeg ...

  10. selenium设置Chrome

    关闭图片 from selenium import webdriver options = webdriver.ChromeOptions() prefs = { 'profile.default_c ...