- TChromium自定义post的header信息提交数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29uses
ceflib;
function CreateField(const AValue: AnsiString): ICefPostDataElement;
begin
Result := TCefPostDataElementRef.New;
Result.SetToBytes(Length(AValue), PAnsiChar(AValue));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Header: ICefStringMultimap;
Data: ICefPostData;
Request: ICefRequest;
begin
Header := TCefStringMultimapOwn.Create;
Header.Append('Content-Type', 'application/x-www-form-urlencoded');
Data := TCefPostDataRef.New;
Data.AddElement(CreateField('Data.id=27'));
Data.AddElement(CreateField('&Data.title=title'));
Data.AddElement(CreateField('&Data.body=body'));
Request := TCefRequestRef.New;
Request.Flags := WUR_FLAG_NONE;
Request.Assign('http://example.com/', 'POST', Data, Header);
Chromium1.Browser.MainFrame.LoadRequest(Request);
end; - 在另一版本中的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23procedure TForm1.Button1Click(Sender: TObject);
var
Header: ICefStringMultimap;
Data: ICefPostData;
Request: ICefRequest;
begin
Request := TCefRequestRef.New;
Request.Url := 'http://example.com/';
Request.Method := 'POST';
Request.Flags := WUR_FLAG_NONE;
Header := TCefStringMultimapOwn.Create;
Header.Append('Content-Type', 'application/x-www-form-urlencoded');
Request.SetHeaderMap(Header);
Data := TCefPostDataRef.New;
Data.AddElement(CreateField('Data.id=27'));
Data.AddElement(CreateField('&Data.title=title'));
Data.AddElement(CreateField('&Data.body=body'));
Request.PostData := Data;
Chromium1.Browser.MainFrame.LoadRequest(Request);
end; - TChromium自定义post数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51function CreateField(const AValue: AnsiString): ICefPostDataElement;
begin
Result := TCefPostDataElementRef.New;
Result.SetToBytes(Length(AValue), PAnsiChar(AValue));
end;
//*****************************************
procedure POST(total, fee: integer);
var
Header: ICefStringMultimap;
Data: ICefPostData;
Request: ICefRequest;
Cook: ICefCookieManager;
begin
Request := TCefRequestRef.New;
Request.Url := '';
Request.Method := 'POST';
Request.Flags:=[UR_FLAG_ALLOW_CACHED_CREDENTIALS,UR_FLAG_ALLOW_COOKIES];
Header := TCefStringMultimapOwn.Create;
Header.Append('Host', '');
Header.Append('User-Agent', '');
Header.Append('Accept', '');
Header.Append('Accept-Language', '');
Header.Append('Accept-Encoding', '');
Header.Append('Content-Type', '');
Header.Append('Referer', '');
Header.Append('Content-Length', '');
Header.Append('Origin', '');
Header.Append('Connection', '');
Header.Append('Pragma', '');
Header.Append('Cache-Control', '');
Header.Append('Cookie','...');
...
Header.Append('Cookie','...');
Request.SetHeaderMap(Header);
Data := TCefPostDataRef.New;
Data.AddElement(CreateField('sessionid='+SessionID));
Data.AddElement(CreateField('¤cy=5'));
Data.AddElement(CreateField('&subtotal='+inttostr(total-fee)));
Data.AddElement(CreateField('&fee='+IntToStr(fee)));
Data.AddElement(CreateField('&total='+IntToStr(total)));
Request.PostData := Data;
form1.Chromium1.Browser.MainFrame.LoadRequest(Request);
end;
如何自定义修改TChromium的header头信息!
-------------本文已结束赏个小钱吧-------------
×

感谢您的支持,我们会一直保持!

请土豪扫码随意打赏


打开微信扫一扫,即可进行扫码打赏哦
分享从这里开始,精彩与您同在