在Delphi中使用XMLHttpRequest进行HTTPS请求

     阅读 91 次    更新时间:2025/2/28    

在Delphi中使用XMLHttpRequest进行HTTPS请求

在Delphi中使用XMLHttpRequest(通常简称为XHR)可以通过MSXML库来实现。MSXML是微软提供的一个COM组件,支持XML解析和HTTP请求。以下是一个简单的示例,展示了如何在Delphi中使用XMLHttpRequest进行HTTP请求:

delphi
uses
  ComObj, SysUtils;

procedure TForm1.Button1Click(Sender: TObject);
var
  XMLHttp: OleVariant;
  ResponseText: WideString;
begin
  try
    // 创建XMLHttpRequest对象
    XMLHttp := CreateOleObject('MSXML2.XMLHTTP');
    
    // 配置请求方法和URL
    XMLHttp.Open('GET', 'https://example.com/api/data', False);
    
    // 发送请求
    XMLHttp.Send;
    
    // 检查请求状态
    if XMLHttp.Status = 200 then
    begin
      // 获取响应文本
      ResponseText := XMLHttp.ResponseText;
      ShowMessage(ResponseText);
    end
    else
    begin
      ShowMessage('请求失败,状态码: ' + IntToStr(XMLHttp.Status));
    end;
  except
    on E: Exception do
      ShowMessage('发生错误: ' + E.Message);
  end;
end;

代码说明:


  1. 创建对象:使用CreateOleObject('MSXML2.XMLHTTP')创建一个XMLHttpRequest对象。
  2. 配置请求:使用Open方法配置请求类型(如GETPOST)和URL。
  3. 发送请求:使用Send方法发送请求。
  4. 处理响应:通过ResponseText获取服务器返回的文本数据,并根据Status检查请求是否成功。

注意事项:


  • 异步请求:如果需要异步请求,可以将Open方法的第三个参数设置为True,并通过onreadystatechange事件处理响应。
  • 错误处理:在实际应用中,建议添加更多的错误处理逻辑,以应对网络问题或服务器错误。





procedure TForm1.Button2Click(Sender: TObject);

 var

 XMLHttp: OleVariant;

 jsonstr:string;

begin

jsonstr := '{"companycode":"'+edit1.text+'","companypassword":"'+edit2.text+'"}';


 XMLHttp := CreateOleObject('MSXML2.XMLHTTP');

 XMLHttp.Open('POST', 'https://XXXXXy', False);

 XMLHttp.SetRequestHeader('Content-Type', 'application/json');

 XMLHttp.Send(jsonstr); // 发送POST数据

 //ShowMessage(XMLHttp.ResponseText); // 显示服务器返回的响应

 memo1.Text:=xmlhttp.ResponseText;

end;

 
 

Copyright 2003-2008 All Rights Reserved 自由风工作室 版权没有 [湘ICP备06002185号]
.