不能以链接方式提交表单.不知何故,请高手帮忙!(100分)

  • 主题发起人 主题发起人 Dusy
  • 开始时间 开始时间
D

Dusy

Unregistered / Unconfirmed
GUEST, unregistred user!
<form method="post" action="http://www.tz-js.cn/yfex/ip/index.asp">
<td width="75%" align="center" height=22 bgcolor=#EFF1F3>
<input type="text" name="ip" size="22">
<input type="text" name="search" size="22" value="search">
<input type="submit" value="查 询" name="B1" c>
</td> </form>
此表单用http://www.tz-js.cn/yfex/ip/index.asp?ip=202.96.65.65&amp;search=search不能达到提交的效果不知是何故.请高手指教.
 
因为这个网页用的提交方式是POST,而你直接用链接所造成的提交方式是GET,所以以链接方式提交的数据在服务器程序里读取不到。
具体解决办法要看你的实际需要而定(比如用SCRIPT语句自动提交等等)。
 
没错,也许你的程序出现了跨服务器运行?故不能传递数据。
 
服务器ASP代码里
sIP=request("ip")
不要用sIP=request.Form("ip")
 
看这里会有帮助的
呵呵,这是一个申请免费邮箱的程序,服务商的地址已经被改了 [:D]
Delphi 6 + Indy 8
procedure TForm1.MailBox(Acc: String);
var
S: String;
Source: TStrings;
Response: TStringStream;
J: Integer;
Cookie: String;
begin
Response := TStringStream.Create('');
Source := TStringList.Create;
try
while (True)do
begin
// 取第一个页面
S := http.Get('http://reg.qqq.com/qqq.shtml');
Source.Clear;
Source.Add('share=&amp;username=' + Acc);
try
http.post('http://reg.qqq.com/Register.jsp', Source, Response);
except
end;
// 从返回的页面中找出cookie, 并增加到http的extraheaders中
for J := 0 to http.Response.ExtraHeaders.Count - 1do
begin
if UpperCase(Copy(http.Response.ExtraHeaders[J], 1, 10)) = 'SET-COOKIE' then
begin
Cookie := Trim(Copy(http.Response.ExtraHeaders[J], 12, MAXINT));
Cookie := Copy(Cookie, 1, Pos(';', Cookie) - 1);
http.Request.Extraheaders.Add('Cookie: ' + Cookie);
end;
end;
// 提交用户名,密码,包括前面的cookie等
Source.Clear;
Source.Add('username=' + Acc + '&amp;password=ttt&amp;confirmPassword=ttt');
try
http.Post('http://reg.qqq.com/Register2.jsp', Source, Response);
except
end;
// 删除cookie
while (http.Request.Extraheaders.Count > 2)do
http.request.Extraheaders.Delete(http.Request.Extraheaders.Count - 1);
// 看看有没有成功,呵呵
s := response.DataString;
if Pos('你已经注册成功! ', S) <> 0 then
break;
end;
finally
Source.Free;
Response.Free;
end;
end;

 
后退
顶部