tidhttp的post问题?
我在网上下的一个源码(已经作了删减),用了indy控件的IdCookieManager和
IdHTTP。有点问题请求指点
void __fastcall TForm1::IdCookieManager1NewCookie(TObject *ASender,
TIdCookieRFC2109 *ACookie, bool &VAccept)
{
VAccept=true;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String UserName=Edit2->Text.Trim();
String UserPass=Edit3->Text.Trim();
TStringList *sl=new TStringList();
sl->Add("username="+UserName);
sl->Add("password="+UserPass);
sl->Add("submit=登 录");
TStringStream * returnStr = new TStringStream("");
try
{
IdHTTP->Post(LoginUrl,sl,returnStr);
}
catch(...)
{
}
//DONE:验证登录是否成功
String SendResult=returnStr->DataString;
RichEdit1->Lines->Add(SendResult);
Edit1->Text=AnsiString(IdHTTP->ResponseCode);
if(SendResult.AnsiPos("欢迎您来到网易"))
//IdHTTP->ResponseCode返回的是200,说明登录成功,但是没有"欢迎您来到网易"
//的提示语句,而通过163.com网站登陆后,在页面上有"欢迎您来到网易",为何?
{
Edit1->Text="登录成功";
}
sl->Clear();
sl->Add("send=1");
sl->Add("phone="+MemoPhone->Text);//手机号
sl->Add("message="+MemoMsg->Text);//短消息
try
{
IdHTTP->Post(SendSmsUrl,sl,returnStr);
}
catch(...)
{
//
}
SendResult=returnStr->DataString;
RichEdit1->Lines->Add(SendResult);
Edit1->Text=AnsiString(IdHTTP->ResponseCode);
//出现302 - Moved Temporarily错误,无法发送短消息
delete returnStr;
delete sl;
sl=NULL;
}
不知以上什么原因造成,另外是否IdHTTP的Request属性还需要特别设置