学习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;
提问者评价
多谢大哥!

评论 | 7 0

cb120520025 | 九级 采纳率57%

擅长: 其他编程语言

其他类似问题

更多关于IdHTTP1.Post的问题>>

为您推荐:

idhttp的相关知识

更多关于idhttp的问题>>

等待您来回答

更多等待您来回答的问题>>

知道日报

2015.08.12往期回顾

713

登录

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

精彩知识在知道

©2015 Baidu   使用百度前必读  |  知道协议  |  百度知道开放平台

任务列表new

时间: 2024-10-12 09:27:26

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

[ExtJS学习笔记]第七节 Extjs的组件components及其模板事件方法学习

本文地址:http://blog.csdn.net/sushengmiyan/article/details/38487519 本文作者:sushengmiyan -------------------------------------------------------------资源链接----------------------------------------------------------------------- 翻译来源  Sencha Cmd官方网站: http://ww

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

一.组件切换: 1.v-if与v-else方式: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv=&q

java 学习之List 的 add 与set方法区别

/** * 在List集合中众多方法中,add(int index,Object obj)方法与set(int index,Object e)方法不易区分 * ,通过下面实例,可以看出两个方法中的区别 */ package gao; import java.util.Iterator; import java.util.LinkedList; import java.util.List; public class CollectionDemo { public static void main(

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

http://soft.huweishen.com/soft/47.html AspUpload对ASP编程人员来说要实现ASP网站文件上传功能它是首选.本文就为大家介绍一下AspUpload组件的安装及使用方法,其中还附带了AspUpload安装的常见问题解答及一个使用AspUpload实现文件上传的实例. 组件简介: asp上传组件,能够实现以下功能:        a.限制上载文件的大小        b.设置用户的权限        c.修改文件属性        d.同时上载多个文件 

【转载】浅谈深度学习(Deep Learning)的基本思想和方法

浅谈深度学习(Deep Learning)的基本思想和方法 分类: 机器学习 信息抽取 Deep Learning2013-01-07 22:18 25010人阅读 评论(11) 收藏 举报 深度学习(Deep Learning),又叫Unsupervised Feature Learning或者Feature Learning,是目前非常热的一个研究主题. 本文将主要介绍Deep Learning的基本思想和常用的方法. 一. 什么是Deep Learning? 实际生活中,人们为了解决一个问

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

还记得第一次使用DOTween时,发现缓动方法竟然是可以直接用Transform对象中调用到,当时就被震撼到了(那是还是C#小白一只).好了不多说了,今天来学习一下C#的这个特性——扩展方法. 扩展方法简介 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 这样我们可以方便的扩展对象方法而无需使用继承,同时也可以给密封类添加方法. 我们来看一个例子: 1 using System; 2 3 namespace Study 4 { 5 class

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

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:extensible markup language 定义:用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 解析XML的方式: SAX——Simple API for XML,既是一种接口,也是一个软件包采用的是事件驱动,也就是它解析

C#学习:委托、事件、匿名方法

一.委托: 委托给我的感觉就是一个种类型,可以让方法更具面向对象的特性——你看,其实我也没说明白,因为我也不大理解.还是一步步往下学吧. 具体来说,委托就是一个类似下面的这种东西: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace ConsoleTestCsharp { class Program { d

Spring学习笔记--initmethod和构造函数、setter方法的加载顺序

今天学习了一下spring中bean的初始化和销毁,突然想了解一下初始化方法跟构造函数及setter方法注入的执行顺序,记录在此,仅作为学习笔记. 当实例化一个bean时,可能需要执行一些初始化操作来确保该bean处于可用状态.同样地,当不再需要bean时,将其从容器中移除是,我们可以还需要按顺序 执行一些清除工作. package com.zp.chapter2; public class Auditorium { private String name; public void doBefo