代码之家  ›  专栏  ›  技术社区  ›  nader

如何使用delphi在web上提交表单

  •  -3
  • nader  · 技术社区  · 6 年前

    我如何创建和发布下面的表单 使用Delphi7 ?

       <Form method="post" action="www.TestAddress.com/TestPage.php">
         <input Type="Text" name="TestName" value="SomeValue" />
         <input Type="Submit" value="Submit" />
       </Form>
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   Remy Lebeau    6 年前

    考虑一下Delphi(Delphi是用Indy预先安装的,所以非常旧) upgrading its Indy to a modern version ),它有一个 TIdHTTP 组成部分它是 Post() 方法具有用于提交webforms的重载版本,例如:

    Params := TStringList.Create;
    try
      Params.Add('TestName=...');
    
      IdHTTP1.Request.Username := ...;
      IdHTTP1.Request.Password := ...;
      // set other properties as needed...
    
      IdHTTP1.Post('http://www.TestAddress.com/TestPage.php', Params);
    finally
      Params.Free;
    end;
    

    根据服务器的要求,您可能需要先请求Web表单的HTML,以获取与之相关的任何cookie,然后将它们作为Web表单提交的一部分发送回服务器。或者您可能需要设置 Referer 如果正在提交的Web表单:

    // make sure TIdHTTP.AllowCookies is set to True beforehand...
    IdHTTP1.Get('http://www.TestAddress.com/WebForm.php');
    
    Params := TStringList.Create;
    try
      Params.Add('TestName=...');
    
      IdHTTP1.Request.Username := ...;
      IdHTTP1.Request.Password := ...;
      // set other properties as needed...
      IdHTTP1.Request.Referer := 'http://www.TestAddress.com/WebForm.php';
    
      IdHTTP1.Post('http://www.TestAddress.com/TestPage.php', Params);
    finally
      Params.Free;
    end;