IdHTTP1控件如何发送文件

feng316 2004-07-19 09:05:23
小弟想用IdHTTP1向指定的服务器发送文件(xml文件),如何发送,
最好有代码,很急!!!!!!!!!!!!!!!
...全文
296 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
feng316 2004-07-22
  • 打赏
  • 举报
回复
Forums Helper 这是什么啊??
怎么用啊???
在那下载啊??

可以实现我的功能吗??
可否给个例子看看???
ChinaOk 2004-07-22
  • 打赏
  • 举报
回复
连接被拒绝啊。
是不是地址错误?服务没起来?
==========================================
欢迎使用 Forums Helper 论坛助手... [助您多、快、好、爽上CSDN...]
直接下载静态XML,速度极快!语法高亮显示帖子,感觉极爽!
发贴,回帖,收发论坛短信,监视关注帖子更新,自动签名,HTML格式另存!
程序最后更新2004年07月13日 [Powered By ChinaOK]
ChinaOk 2004-07-21
  • 打赏
  • 举报
回复
indy9的demo里有一个传送文件的例子啊。
Post()方法
你不是想调用WebService吧?
==========================================
欢迎使用 Forums Helper 论坛助手... [助您多、快、好、爽上CSDN...]
直接下载静态XML,速度极快!语法高亮显示帖子,感觉极爽!
发贴,回帖,收发论坛短信,监视关注帖子更新,自动签名,HTML格式另存!
程序最后更新2004年07月13日 [Powered By ChinaOK]
feng316 2004-07-21
  • 打赏
  • 举报
回复
那位大哥用过Delphi6的TIDHTTP控件啊

可以帮帮小弟吗??
告诉我怎么用??
我的代码为什么报错??


try
ssHtml := TStringList.Create;
Request := TStringList.Create;
Response :=TStringStream.Create('');
Request.Assign(Memo1.Lines);
IdHTTP1.Request.ContentType :='application/x-www-form-urlencoded';
idhttp1.Post('http://11.160.4.57',Request,Response);
ssHtml.Text:= Trim(Response.DataString);
Showmessage(ssHtml.Text);
finally
ssHtml.Free;
Response.Free;
Request.Free;
end;

报错"Socket Error #10061 Connection refused";

请大哥帮我看看,为什么?????


很急,,谢谢!
cronuz 2004-07-21
  • 打赏
  • 举报
回复
楼主大哥?? NI這是叫誰尼?hehe~~~

”我用的是代理服务器,我用不用设置别的啊?”
NI再看看TIdHTTP控件的属性ProxyParams是不是需要設定、
我没用過...
feng316 2004-07-21
  • 打赏
  • 举报
回复
楼主大哥这是我的代码:

try
ssHtml := TStringList.Create;
Request := TStringList.Create;
Response :=TStringStream.Create('');
Request.Assign(Memo1.Lines);
IdHTTP1.Request.ContentType :='application/x-www-form-urlencoded';
idhttp1.Post('http://11.160.4.57',Request,Response);
ssHtml.Text:= Trim(Response.DataString);
Showmessage(ssHtml.Text);
finally
ssHtml.Free;
Response.Free;
Request.Free;
end;

报错"Socket Error #10061 Connection refused";

请大哥帮我看看,为什么?????
feng316 2004-07-21
  • 打赏
  • 举报
回复
楼主大哥,为什么不结帖啊

提示我"总合不对,请验证",我如何验证啊
feng316 2004-07-21
  • 打赏
  • 举报
回复
那我在试试,楼主大哥!

非常感谢!
cronuz 2004-07-21
  • 打赏
  • 举报
回复
楼主:如果是编译不能通过、多半是数据類型不匹配。Error内容是什麼?
cronuz 2004-07-20
  • 打赏
  • 举报
回复
procedure TForm1.Button7Click(Sender: TObject);
begin
XMLDocument1.FileName := ExtractFilePath(Application.ExeName)+'myXML.xml';
XMLDocument1.Active := true;
//Memo1.Lines := XMLDocument1.XML;

try
IdHTTP1.Post('http://www.xxx', XMLDocument1.XML);
finally
Edit1.Text := IdHTTP1.Response.Server + ': ' + IdHTTP1.Response.ResponseText;
end;
end;

(注:因無Web Server環境、無法実際TEST、NI自己TEST一下...)
yinweixian 2004-07-20
  • 打赏
  • 举报
回复
学习!
cronuz 2004-07-20
  • 打赏
  • 举报
回复
Sorry! 上述Source是錯的...
cronuz 2004-07-20
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var strm: TMemoryStream;
begin
strm := TMemoryStream.Create;
strm.LoadFromFile(ExtractFilePath(Application.ExeName)+'myXML.xml');
try
IdHTTP1.Get('http://www.csdn.net', strm);
finally
Edit1.Text := IdHTTP1.Response.Server + ': ' + IdHTTP1.Response.ResponseText;
end;
end;

(注:TIdHTTP控件有2種発送方式、Post和Get、具体的自己試試)
ChinaOk 2004-07-20
  • 打赏
  • 举报
回复
看看indy的demos
feng316 2004-07-20
  • 打赏
  • 举报
回复
我用的Delphi60,有没有Delphi60的方法啊


我用的是代理服务器,我用不用设置别的啊?

我想post后,得到服务器给我返回的东西,如何的到??


cronuz 2004-07-20
  • 打赏
  • 举报
回复
编译不能通过? 不会吧?

我在自己的Delphi7上编译是没有問題的、
只是執行時、IdHTTP1.Post('http://www.csdn.net', strm);
用CSDN的URL進行Test、返回:
Microsoft-IIS/5.0: HTTP/1.1 405 Method not allowed
(注:CSDN当然不会接収的、hehe)

IdHTTP1.Post('http://www.yourWebServer', strm);
          ↑此処要換成NI的URL

実在不行、把NI的Web Server的URL、以短信息方式発給我、帮NI試...
還有我没有QQ!
feng316 2004-07-20
  • 打赏
  • 举报
回复
cronuz(cronus)大哥你好!


这句话编译不能通过啊 IdHTTP1.Post('http://www.yourWebServer', strm);
??????
feng316 2004-07-20
  • 打赏
  • 举报
回复
cronuz(cronus)大哥你好!

我发送给服务器,我怎么得到服务器给我返回的数据呢??
是不是"IdHTTP1.Response.ResponseText" ?????

还请大哥说清出些,
如果可以,我的QQ57962217 我们可以聊聊吗?
cronuz 2004-07-20
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var strm: TMemoryStream;
begin
strm := TMemoryStream.Create;
strm.LoadFromFile(ExtractFilePath(Application.ExeName)+'myXML.xml');
try
IdHTTP1.Post('http://www.yourWebServer', strm);
finally
Edit1.Text := IdHTTP1.Response.Server + ': ' + IdHTTP1.Response.ResponseText;
end;
end;

(注:用TStream方式試試、我没用過)
feng316 2004-07-20
  • 打赏
  • 举报
回复
我想用POST将文件发送到指定的服务器上去,
如果用GET,老提示我Socket Error 1101 错误????

但我还是想用POST,因为文件可能很大....

在线等待.......

希望大哥们帮帮我,,最好有代码...

谢谢!!

cronuz(cronus)
加载更多回复(1)

1,593

社区成员

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

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