extre4m
Сообщений: 1
Оценки: 0
Присоединился: 2011-06-18 01:56:37.716666
|
нашёл в инете исходник программы для отсылки POST - запроса через прокси,подставил нужные мне данные,но столкнулся с такой проблемой: код программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
IdHTTP1: TIdHTTP;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
data, list: TStringList;
i, k: Integer;
begin
IdHTTP1.ReadTimeout :=9000;
//IdHTTP1.ProtocolVersion := pv1_1;
k := 0;
Data := TStringList.Create;
List := TStringList.create;
List.LoadFromFile('1.txt');
List.NameValueSeparator := Char(':');
for i := 0 to List.Count - 1 do
begin
IdHTTP1.ProxyParams.ProxyServer := List.Names[i];
IdHTTP1.ProxyParams.ProxyPort := StrToInt(List.ValueFromIndex[i]);
Data.Add('__VIEWSTATE=%2FwEPDwUJLTc2MTM5MjU5ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUKaWJ0blJlZ2lzdJv6LFkjczBS8V1AFhFUpJUDICnr');
Data.Add('__EVENTVALIDATION=%2FwEWBQKXrbncBgLGoKC6AwKu2pCGAgLto%2ByJDgKWp9y0BYSABzfy0bqiKJXXseJXfgFmYEDC');
Data.Add('hidEurope=103%2C108%2C109%2C111%2C113%2C116%2C');
Data.Add('hidAsia=202%2C203%2C206%2C');
Data.Add('hidAmerica=300%2C307%2C');
Data.Add('ibtnRegist.x=122');
Data.Add('ibtnRegist.y=12');
Inc(k);
Application.ProcessMessages;
try
IdHTTP1.Post('http://www.estarsseoul.org/Popup/PopOnlinePoll.aspx', Data);
except
on E: exception do
label1.Caption := E.Message;
end;
label2.Caption := IntToStr(k);
end;
IdHTTP1.Disconnect;
List.Free();
Data.Free();
end;
end.
должна посылать такой POST запрос: POST /Popup/PopOnlinePoll.aspx HTTP/1.1 User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.11 Host: www.estarsseoul.org Accept: text/HТМL, application/xml;q=0.9, application/xHТМL+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Encoding: gzip, deflate Connection: Keep-Alive Content-Length: 352 Content-Type: application/x-www-form-urlencoded __VIEWSTATE=%2FwEPDwUJLTc2MTM5MjU5ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUKaWJ0blJlZ2lzdJv6LFkjczBS8V1AFhFUpJUDICnr&__EVENTVALIDATION=%2FwEWBQKXrbncBgLGoKC6AwKu2pCGAgLto%2ByJDgKWp9y0BYSABzfy0bqiKJXXseJXfgFmYEDC&hidEurope=103%2C108%2C109%2C111%2C113%2C116%2C&hidAsia=202%2C203%2C206%2C&hidAmerica=300%2C307%2C&ibtnRegist.x=122&ibtnRegist.y=12 сниффером отследил такой: POST http://www.estarsseoul.org:80/Popup/PopOnlinePoll.aspx HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded Content-Length: 381 Host: www.estarsseoul.org Accept: text/HТМL, application/xml;q=0.9, application/xHТМL+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Encoding: gzip, deflate Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.11 __VIEWSTATE=%252FwEPDwUJLTc2MTM5MjU5ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUKaWJ0blJlZ2lzdJv6LFkjczBS8V1AFhFUpJUDICnr&__EVENTVALIDATION=%252FwEWBQKXrbncBgLGoKC6AwKu2pCGAgLto%252ByJDgKWp9y0BYSABzfy0bqiKJXXseJXfgFmYEDC&hidEurope=103%252C108%252C109%252C111%252C113%252C116%252C&hidAsia=202%252C203%252C206%252C&hidAmerica=300%252C307%252C&ibtnRegist.x=122&ibtnRegist.y=12& 2 вопроса: как убрать "&" в конце запроса? как сделать так,чтоб символ "%" не заменялся на "%25"? по второму вопросу писали здесь http://forum.vingrad.ru/forum/topic-296687/anchor-entry2135903/0.HТМL,но мне нужна кодировка UTF-8,а так как я новичок в delphi,я не знаю как обозначить её в TStringStream,и вообще,поможет ли это?
|