200分,向PHP页发送数据问题!!!(200分)

  • 主题发起人 主题发起人 microbezhang
  • 开始时间 开始时间
M

microbezhang

Unregistered / Unconfirmed
GUEST, unregistred user!
"http://192.168.111.111:855/send.php?destn=$num&msg=$encryptedText
向PHP页发送信息,参数请问在是使用POST方法,还是GET方法发送,另在DELPHI中有什么好的控件来实现??
 
POST 和 GET都可以,无非就是显式和隐式~不过可发的字符串长度不同
 
在DELPHI中可以用什么好的控件来做,如何操作,还请大家多指教下!!?
 
首先感谢上面兄弟的回答.
idhttp中post 时传递值要用GB2312编码应该如何做,请大家指教!!!!
 
有很多WEBPOST组件,
 
如果数据量小就用Get方法比较轻便
如果数据比较大还是用Post吧
HTTP控件一般都可以的
 
如果你是想通过URL取回数据的话可能要用到XML
我正在做的东西和你的差不多
如果想得到具体的方法可以联系我
QQ:158783169
我周末休息
如果今天能通过
就得等到周一了
 
自己DING下,
感谢上面各位的答复,问题解决了第一步,发送及取值均无问题.大家共同进步,偶把正确代码共享.
但!
但,使用IDHTTP控件实现时,如果仅仅执行一次POST,程序是完全正确的. 如果加入到循环体中多次执行POST则会报错!程序中断!!请教各位了.
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, ComCtrls;

type
TForm1 = class(TForm)
IdHTTP1: TIdHTTP;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
StatusBar1: TStatusBar;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
myParams:TStringList;
ret:TStringStream;
i:integer;
begin
for i:=1 to 5 do
begin
IdHTTP1.ReadTimeout := 30*1000; //设置超时时间30seconds
IdHttp1.Request.ContentType := 'application/x-www-form-urlencoded';
IdHttp1.HTTPOptions := [hoForceEncodeParams];
ret := tstringstream.Create('');
myParams:=tstringlist.Create;
myparams.Add('lpath='+edit1.text);
myparams.Add('ldata='+memo1.text);
try
idhttp1.Post('http://localhost/call/accept%20sms.asp',myparams,ret); //idhttp提交post请求,
showmessage(ret.DataString); //返回页面源码
showmessage(idhttp1.ResponseText); //返回错误信息
except
memo1.Lines.Add('success?'); //发送记录完毕
end;
idhttp1.Disconnect;
FreeAndNil(idhttp1);
freeAndNil(myparams);
Ret.Position:=0;
memo1.Lines.LoadFromStream(ret);
ret.Free;
form1.Refresh;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close();
application.Terminate;
end;

end.
 
注:上代码若去掉循环,就是可正确单次执行的代码!
 

Similar threads

D
回复
0
查看
880
DelphiTeacher的专栏
D
D
回复
0
查看
849
DelphiTeacher的专栏
D
D
回复
0
查看
799
DelphiTeacher的专栏
D
D
回复
0
查看
928
DelphiTeacher的专栏
D
D
回复
0
查看
882
DelphiTeacher的专栏
D
后退
顶部