有一个网页不需要显式的打开而必须用程序进入(登录),url=http://10.70.17.60/netoa/index.php。  (其文本框名字为username和password)进入这个页面后,还需自动进入另一个页面url=http://10.70.17.60/netoa/sms.php,然后程序要自动把手机号,短信内容填入其文本框内,并自动发送。(其文本框名字为phone_number和short_message)。现在我连第一个页面也进不去!(从返回的信息上可以看出,没有进去,因为它还向我要用户名和密码)附我的程序:
//第一个登录过程
procedure TForm1.Button1Click(Sender: TObject);
var
  Url,s : string;
  Response : TStringStream;
  Request : TStrings;
begin
    Response := TStringStream.Create('');
    try
      Request := TStringList.Create ;
      try
        s:='username=zhang&password=abcdfe';
        Request.Append(s);        Url:='Http://10.70.17.60/netoa/index.php';
        IdHTTP1.Request.ContentType :='application/x-www-form-urlencoded';
        IdHTTP1.Post(Url,Request,Response);
        Memo1.Lines.add(Trim(Response.DataString));
      finally
        Request.Free ;
      end;
    finally
      Response.Free ;
    end;
end;//第二个登录过程
procedure TForm1.Button2Click(Sender: TObject);
var
  Url,s : string;
  Response : TStringStream;
  Request : TStrings;
begin
    Response := TStringStream.Create('');
    try
      Request := TStringList.Create ;
      try
        s:='phone_number=13082233616&short_message=哈哈哈啊哈啊啊啊啊啊';
        Request.Append(s);        Url:='Http://10.70.17.60/netoa/sms.php';
        IdHTTP1.Request.ContentType :='application/x-www-form-urlencoded';
        IdHTTP1.Post(Url,Request,Response);
        Memo1.Lines.add(Trim(Response.DataString));
      finally
        Request.Free ;
      end;
    finally
      Response.Free ;
    end;
end;

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      postList: TStrings;
    begin
      EditURL.Text := 'http://community.csdn.net/expert/forum.asp';  postList := TStringList.Create;
      try
        postList.Add('login_name=cronuz');
        postList.Add('password=myPassword');
        IdHTTP.Post( EditURL.Text, postList );
      finally
        EditURL.Text := IdHTTP.Response.Server + ': ' + IdHTTP.Response.ResponseText;
        postList.Free;
      end;
    end;(注:此為在CSDN上的TEST、楼主只要改成自己在CSDN上的用户名和密码、
       就可叫通CSDN、返回:Microsoft-IIS/6.0: HTTP/1.1 200 OK)
      

  2.   

    cronuz(cronus):你的程序如何知道是否叫通了CSDN?似乎还有问题。