各位,我需要使用IndyHttp提交Form参数到一个Web页面,并取到该页面的显示内容。
页面地址是:http://ask.39.net/web/share.asmx/Login,它接受两个Form参数:
username和password,并显示一段XML作为结果。我的问题是,无论我怎么弄,都报错:HTTP/1.0 500,Internal Server Error。
下面是我的Delphi7代码:
var
sHttp, sResponse: string;
sRequests: TIdMultiPartFormDataStream;
begin
sRequests := TIdMultiPartFormDataStream.Create;
sHttp := 'http://ask.39.net/web/share.asmx/Login';
sRequests.AddFormField('username', '1');
sRequests.AddFormField('password', '2');
// IdHTTP.Request.Accept := 'text/xml,*/*'; // 这两句不注释也不行
// IdHTTP.ProtocolVersion := pv1_1;
sResponse := IdHTTP.Post(sHttp, sRequests);
sRequests.Free;
ShowMessage(sResponse);我卸载了D7自带的Indy,安装了Indy9,不行,又重装上了Indy10,还是不行。
我试了不使用TIdMultiPartFormDataStream,而使用TString传Form参数,还是不行。
我自己直接写了个HTML页面,提交到该页面是没有问题的。说明Web页面应该没问题。实在搞不定了,请高手帮助,在线等,解决立即给分。
页面地址是:http://ask.39.net/web/share.asmx/Login,它接受两个Form参数:
username和password,并显示一段XML作为结果。我的问题是,无论我怎么弄,都报错:HTTP/1.0 500,Internal Server Error。
下面是我的Delphi7代码:
var
sHttp, sResponse: string;
sRequests: TIdMultiPartFormDataStream;
begin
sRequests := TIdMultiPartFormDataStream.Create;
sHttp := 'http://ask.39.net/web/share.asmx/Login';
sRequests.AddFormField('username', '1');
sRequests.AddFormField('password', '2');
// IdHTTP.Request.Accept := 'text/xml,*/*'; // 这两句不注释也不行
// IdHTTP.ProtocolVersion := pv1_1;
sResponse := IdHTTP.Post(sHttp, sRequests);
sRequests.Free;
ShowMessage(sResponse);我卸载了D7自带的Indy,安装了Indy9,不行,又重装上了Indy10,还是不行。
我试了不使用TIdMultiPartFormDataStream,而使用TString传Form参数,还是不行。
我自己直接写了个HTML页面,提交到该页面是没有问题的。说明Web页面应该没问题。实在搞不定了,请高手帮助,在线等,解决立即给分。
解决方案 »
- 有谁遇到过这个问题?急!没多少分了。
- 树形问题(简单问题)
- 求思路
- 我用Delphi写了一个IE插件Toolbar,如何取得用户在我的主页注册时的Session,如recName的值!
- 这个问题如何解决?
- 替换字符串中的指定字符的函数是什么?
- 如何获得98计算机的登录用户名并存入一个变量中?(100分)
- 初学Delphi,请大家推荐书籍!谢谢
- 如何在单机下测试自己做的client和sever?
- 帮我看看以下代吗有问题?
- *** 高分求助,关于IndyHttp提交到Web页面 ***
- dll封装子窗体(含ado)报 access violation at dress xxx in module 'project1.dll'错
AURL: string;
ASource: TIdStrings
): string; overload;