我用idhttp实现文件的某块下载,为什么每次都是把整个文件都下下来了,我设的下载部分远小于源文件大小啊?我的程序如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, idhttp, idantifreeze, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
my:tidhttp;
an:tidantifreeze;
size:integer;
url:string;
s:tmemorystream;
begin
my:=tidhttp.Create(nil);
an:=tidantifreeze.Create(nil);
an.OnlyWhenIdle:=false;
s:=tmemorystream.Create;
url:='http://xxx.xxx.com/0001.JPG';
//my.Head(url);
//size:=my.Response.ContentLength;
//edit1.Text:=inttostr(size);
my.Request.ContentRangeStart:=1;
my.Request.ContentRangeEnd:=1700;
my.Get(url,s);
s.SaveToFile('d:\4.jpg');
s.Clear;
my.Destroy;
end;
end.
DELPHI idhttp问题,高手进,完全解决追加200分
1、Referer 是来路地址。浏览器里就是从那个地址点击来到此URL。有些网站是限制来路的,如果来路不是本站则会进行相应的处理,所以最好还是加上这个属性。2、idhttp会自动处理cookie,如果你想知道cookie的具体动作,可以结合tidcookiemanager使用。3、一般验证码都是session存贮的,idhttp.craete之后会自动保存...
delphi 7 idhttp post数据时提示Socket Error#11004问题。
其实就是URL有问题,将URL前后的不可见字符删除掉就可以了。如果Url是在Get之前直接填写的字符串就不会出现这种情况,往往是使用了从文本框的变量才会出现。如:Url := Trim( edit1.Text );Http.Get( Url );
delphi IDhttp多线程 下载出错
建议用线程队列,这样避免因为循环中线程创建失败引起异常,另外可能还需要一个监视状态的,如果连续多久没有接收到数据,则自动关闭下载,避免出现因为服务端无返回或者下载死在那边(微软的IE下载貌似也存在这个问题)。
delphi 中 Idhttp 使用
你可能没有理解post方法,这是需要传输表单数据的,但是你的代码中并没有传输任何表单数据。get方法只是下载页面,而post方法是需要传输表单数据的。因为你的代码中没有透漏细节,我没法判断此页面应该是哪个方法。如果是get,你改为:Memo1.Lines.Add(Idhttp1.get(如果是post,你需要在T的最后再增加一...
delphi 里用 indy idhttpserver 怎么接收post过来的数据?
是的,就在oncommandget事件里面接收 传输过来的数据在ARequestInfo.FormParams这个参数里面 你可以直接把这个参数的值赋给你的变量
DELPHI IDHTTP 下载文件的问题
把memo1.text改成memo1.lines.add吧 memo1.lines.add(idhttp.get('xxxx\/1.txt'));memo1.lines.add(idhttp.get('xxxx\/2.txt'));memo1.lines.add(idhttp.get('xxxx\/...txt'));
DELPHI 多线程 IDHTTP提交问题
最简单的方式:一个全局整形变量count,初始化为 0;timer中检测 count,如果count < 5 则生成一个线程 每次增加一个线程,count + 1 线程执行完 count - 1;
delphi idhttp.post的问题
我给你地址!作用方法很简。选中你要取得的提交数据。然后点那个三角。开始。就行了。你就去提交。你就可以看到要提交的啥数据!REFER 你可以理解。是从那儿到那儿, 这个数据的结构你最好用你抓到的数据包中的地址!哦,idhttp post数据你要注意一下。他中间默认的1.0 协议。你得改成 1.1 的...
Delphi用idhttp向用gbk编码的网站Post过去的数据在网站的网页显示成乱...
1 : 可能还是编码格式的问题,你可以多换几个编码格式(UTF-8,GB3212,GBK)试试,有时候那些检测软件是不准的,建议你用HttpWatch 2 : 注意网页解码方式(IDhttp.Request.AcceptEncoding),这个属性最好是指定上,要不也会出现乱码 3 :把 HTTP.Request.AcceptEncoding := '';也就是用默认解码;...
如何设置IDHTTP的连接超时
现在delphi都发布到xe8了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒。connectTimeout和readTimeout都试过了,网上找了一圈,有人提出修改源码,我没试,应该也可以。我采用的是把idhttp.get方法放到线程里,在主线程定时检查返回状态,...