unit DcpMain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;
type
TForm1 = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
EditPostUrl: TEdit;
Button1: TButton;
MemoPostCookie: TMemo;
MemoPostData: TMemo;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
MemoPostRetinfo: TMemo;
IdHTTP2: TIdHTTP;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var
SendPostData:TSTringList;
RetData:TStringStream;
i:Integer;
RetStr,DcpCookie,temp:string;
begin
SendPostData:=TStringList.Create;
RetData:=TStringStream.Create;
IdHTTP2.AllowCookies := True;
try
IDHTTP2.Request.UserAgent:='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.99';
IDHTTP2.Request.Host:='cg.vrbetapi.com';
IdHTTP2.Request.Referer:='http://cg.vrbetapi.com/Bet/Index/34'; //要打开的网页
IDHTTP2.Request.Accept:='*/*';
IdHTTP2.Request.Connection := 'Keep-Alive';
IdHTTP2.ReadTimeout:=30000;
IdHTTP2.Request.CacheControl:='max-age=0';
IDHTTP2.Request.ContentType:='application/x-www-form-urlencoded; charset=UTF-8';
IDHTTP2.Request.AcceptEncoding:='gzip, deflate';
IDHTTP2.Request.AcceptLanguage:= 'zh-CN,zh;q=0.9';
IDHTTP2.HandleRedirects:=True;
IdHTTP2.HTTPOptions:=IdHTTP2.HTTPOptions+[hoKeepOrigProtocol];
IdHTTP2.ProtocolVersion:=pv1_1;
//自定义cookie
//IDHTTP2.Request.CustomHeaders.Text:=MmoCookie.Text;//放入cookie
//IDHTTP2.Request.CustomHeaders.Add(MmoCookie.Text);//放入cookie
IDHTTP2.Request.CustomHeaders.Values['Cookie']:=MemoPostCookie.Text;//放入cookie
//提交的主题数据
SendPostData.Add('请求的数据');
//多行可以填加
IDHTTP2.Post(EditPostUrl.Text,SendPostData,RetData);
//获取网页返回的信息
RetStr:=RetData.DataString;
RetStr:=UTF8Decode(RetStr);
//待测试
if IdHTTP2.CookieManager.CookieCollection.Count > 0 then
begin
for i := 0 to IdHTTP2.CookieManager.CookieCollection.Count - 1 do
begin
temp := temp + IdHTTP2.CookieManager.CookieCollection.Cookies[i].CookieText;
end;
end;
MemoPostRetinfo.Text:=idhttp2.Response.RawHeaders.Text;
finally
RetData.Free;
SendPostData.Free;
end;
end;
end.