这也正是我想知道的:你可以用TNMHTTP和TWEBBROWSER,方法不太相同!
procedure TForm1.BitBtn3Click(Sender: TObject);
var
  strData: string;
  PostData: OleVariant;
  Headers: OleVariant;
  i: Integer;
begin
  {1. you must create a string with parameter names and values
  Result string must be in the next format:
  Param1=Value1&Param2=Value2&Param3=Value3...}
  strData := 'username=' + HTTPEncode('kyl') + '&' +'passwordget=' + HttpEncode('kyl');  {2. you must convert a string into variant array of bytes and
   every character from string is a value in array}
  PostData := VarArrayCreate([0, Length(strData) - 1], varByte);  { copy the ordinal value of the character into the PostData array}
  for i := 1 to Length(strData) do
    PostData[i-1] := Ord(strData[i]);  {3. prepare headers which will be sent to remote web-server}
  Headers := 'Content-Type: application/x-www-form-urlencoded' + #10#13;  {4. you must navigate to the URL with your script and send as parameters
  your array with POST-data and headers}  WebBrowser1.Navigate('http://kyl/Login_Check.asp',EmptyParam, EmptyParam, PostData, Headers);
end;
这是使用TWebBrowser
我很想知道如何使用TNMHttp的POST方法

解决方案 »

  1.   

    这是使用TNMHttp的方法,但是提交不上!
      NMHTTP1.InputFileMode := FALSE;
      NMHTTP1.OutputFileMode := FALSE;
      NMHTTP1.ReportLevel := Status_Basic;
      Edit2.Text='username='+HttpEncode('123')+'&password='+HttpEncode('123');
      With NMHTTP1.HeaderInfo do
      Begin
        Cookie := '';
        LocalMailAddress := '';
        LocalProgram := '';
        Referer := '';
        UserID := '';
        Password := '';
      End;
      NMHTTP1.Post(Edit1.Text,Edit2.Text);
      Memo1.Text := NMHTTP1.Body;
      

  2.   

    你可以写个后台监控的程序,比如有新数据产生,弹出Form来提交表单,结束后hide.
      

  3.   

    这是使用TNMHttp的方法
      NMHTTP1.InputFileMode := FALSE;
      NMHTTP1.OutputFileMode := FALSE;
      NMHTTP1.ReportLevel := Status_Basic;
      Edit2.Text='username='+HttpEncode('123')+'&password='+HttpEncode('123');
      With NMHTTP1.HeaderInfo do
      Begin
        Cookie := '';
        LocalMailAddress := '';
        LocalProgram := '';
        Referer := '';
        UserID := '';
        Password := '';
      End;
      NMHTTP1.Post(Edit1.Text,Edit2.Text);
      Memo1.Text := NMHTTP1.Body;
      

  4.   

    你还可以参看delphi自带的例子:在demos\fastnet\http
      

  5.   

    我必须告诉你,使用TNMHttp的方法不行!传到哪里我可就不太清楚了!
      

  6.   

    怎么我使用TWebBrowser还是不行
      

  7.   

    不可能,我在很多网站都试过!
    在给你一个方法,你可能更喜欢这个,但是错误很多!
      WebBrowser2.OleObject.Document.gqfb.title.value:=HttpEncode('肉牛');
      WebBrowser2.OleObject.Document.gqfb.sort.value:=HttpEncode('特种养殖');
      WebBrowser2.OleObject.Document.gqfb.diqu.value:=HttpEncode('上海市');
      WebBrowser2.OleObject.Document.gqfb.notes.value:=HttpEncode('肉牛肉牛肉牛肉牛肉牛');
      WebBrowser2.OleObject.Document.gqfb.contactname.value:=HttpEncode('昆仔');
      WebBrowser2.OleObject.Document.gqfb.email.value:=HttpEncode('[email protected]');
      WebBrowser2.OleObject.Document.gqfb.fax.value:=HttpEncode('03726372838');
      WebBrowser2.OleObject.Document.gqfb.company.value:=HttpEncode('大南集团');
      WebBrowser2.OleObject.Document.gqfb.keyz.value:=HttpEncode('肉牛');
      ShowMessage(WebBrowser2.OleObject.Document.gqfb.sd.name);
      Exit;
      WebBrowser2.OleObject.Document.gqfb.phone.value:=HttpEncode('03726372838');
      WebBrowser2.OleObject.Document.gqfb.submit;
      

  8.   

    如果还不行的话,那么请你去上borland公司的讨论组吧!
      

  9.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      strData: string;
      PostData: OleVariant;
      Headers: OleVariant;
      i: Integer;
    begin
      {1. you must create a string with parameter names and values
      Result string must be in the next format:
      Param1=Value1&Param2=Value2&Param3=Value3...}
      strData := 'p=' + HTTPEncode('网络编程') + '&' +'u=' + HttpEncode('b');
      {2. you must convert a string into variant array of bytes and
       every character from string is a value in array}
      PostData := VarArrayCreate([0, Length(strData) - 1], varByte);  { copy the ordinal value of the character into the PostData array}
      for i := 1 to Length(strData) do
        PostData[i-1] := Ord(strData[i]);  {3. prepare headers which will be sent to remote web-server}
      Headers := 'Content-Type: application/x-www-form-urlencoded' + #10#13;  {4. you must navigate to the URL with your script and send as parameters
      your array with POST-data and headers}
      showmessage(strdata);
      WebBrowser1.Navigate('http://cn.search.yahoo.com/search/cn',EmptyParam, EmptyParam, PostData, Headers);end;
    这样不行?而这样可以  WebBrowser1.Navigate('http://cn.search.yahoo.com/search/cn?p=%CD%F8%C2%E7%B1%E0%B3%CC&u=B');
      

  10.   

    明白了,原来YAHOO不支持POST方法,不过为什么呢?为什么一般的搜索用GET呢