亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? httpprot.pas

?? 包含常用Internet協(xié)議TCP,UDP、HTTP、FTP、Telnet等
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
    if Assigned(FOnSendData) then
        FOnSendData(Self, Data, Len);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.TriggerHeaderBegin;
begin
    if Assigned(FOnHeaderBegin) then
        FOnHeaderBegin(Self);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.TriggerHeaderEnd;
begin
    if Assigned(FOnHeaderEnd) then
        FOnHeaderEnd(Self);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.TriggerRequestHeaderBegin;
begin
    if Assigned(FOnRequestHeaderBegin) then
        FOnRequestHeaderBegin(Self);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.TriggerRequestHeaderEnd;
begin
    if Assigned(FOnRequestHeaderEnd) then
        FOnRequestHeaderEnd(Self);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.TriggerRequestDone;
begin
    PostMessage(Handle, WM_HTTP_REQUEST_DONE, 0, 0);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.WMHttpRequestDone(var msg: TMessage);
begin
    if Assigned(FOnRequestDone) then
        FOnRequestDone(Self, FRequestType, FRequestDoneError);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.WMHttpSetReady(var msg: TMessage);
begin
    StateChange(httpReady);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure ReplaceExt(var FName : String; const newExt : String);
var
    I : Integer;
begin
    I := Posn('.', FName, -1);
    if I <= 0 then
        FName := FName + '.' + newExt
    else
        FName := Copy(FName, 1, I) + newExt;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.Abort;
var
    bFlag : Boolean;
begin
    if FState = httpReady then begin
        if FWSocket.State <> wsClosed then
            FWSocket.Close; { This should never occurs ! }
        Exit;
    end;

    bFlag := (FState = httpDnsLookup);
    StateChange(httpAborting);

    if bFlag then begin
        try
            FWSocket.CancelDnsLookup;
        except
            { Ignore any exception }
        end;
    end;

    FStatusCode       := 404;
    FReasonPhrase     := 'Connection aborted on request';
    FRequestDoneError := httperrAborted;

    if bFlag then
        SocketSessionClosed(Self, 0)
    else
        FWSocket.Close;
    StateChange(httpReady);  { 13/02/99 }
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.Login;
begin
    FDnsResult := '';
    StateChange(httpDnsLookup);
    FWSocket.DnsLookup(FHostName);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.SocketDNSLookupDone(Sender: TObject; Error: Word);
begin
    if Error <> 0 then begin
        if FState = httpAborting then
            Exit;
        FRequestDoneError := Error;
        FStatusCode       := 404;
        FReasonPhrase     := 'can''t resolve hostname to IP address';
        SocketSessionClosed(Sender, Error);
    end
    else begin
        FDnsResult     := FWSocket.DnsResult;
        StateChange(httpDnsLookupDone);  { 19/09/98 }
        FWSocket.Addr  := FDnsResult;
        FWSocket.Port  := FPort;
        FWSocket.Proto := 'tcp';
        try
            FWSocket.Connect;
        except
            FRequestDoneError := FWSocket.LastError;
            FStatusCode       := 404;
            FReasonPhrase     := 'can''t connect: ' +
                                 WSocketErrorDesc(FWSocket.LastError) +
                                 ' (Error #' + IntToStr(FWSocket.LastError) + ')';
            FWSocket.Close;
            SocketSessionClosed(Sender, FWSocket.LastError);
        end;
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.SocketSessionConnected(Sender : TObject; Error : Word);
begin
    if Error <> 0 then begin
        FRequestDoneError := Error;
        FStatusCode       := 404;
        FReasonPhrase     := WSocketErrorDesc(Error) +
                             ' (Error #' + IntToStr(Error) + ')';
        SocketSessionClosed(Sender, Error);
        Exit;
    end;

    FConnected := TRUE;
    StateChange(httpConnected);
    TriggerSessionConnected;

    FNext := GetHeaderLineNext;
    StateChange(httpWaitingHeader);

    try
        case FRequestType of
        httpPOST:
            begin
                SendRequest('POST', '1.0');
                TriggerSendBegin;
                FAllowedToSend := TRUE;
                SocketDataSent(FWSocket, 0);
            end;
        httpHEAD:
            begin
                SendRequest('HEAD', '1.0');
            end;
        httpGET:
            begin
                SendRequest('GET', '1.0');
            end;
        end;
    except
        Logout;
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.Logout;
begin
    FWSocket.Close;
    FConnected := FALSE;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.SendCommand(const Cmd : String);
const
    CRLF : String[2] = #13#10;
var
    Buf : String;
begin
    Buf := Cmd;
    if Assigned(FOnCommand) then
        FOnCommand(Self, Buf);
    if Length(Buf) > 0 then
        FReqStream.Write(Buf[1], Length(Buf));
    FReqStream.Write(CRLF[1], 2);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.SendRequest(const Method, Version: String);
begin
    FReqStream.Clear;
    TriggerRequestHeaderBegin;
    SendCommand(method + ' ' + FPath + ' HTTP/' + Version);
    if FSender <> '' then
        SendCommand('From: ' + FSender);
{SendCommand('Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'); }
    if FAccept <> '' then
        SendCommand('Accept: ' + FAccept);
    if FReference <> '' then
        SendCommand('Referer: ' + FReference);
{SendCommand('Accept-Language: fr, en'); }
    if (method = 'POST') and (FContentPost <> '') then
        SendCommand('Content-Type: ' + FContentPost);
{SendCommand('UA-pixels: 1024x768'); }
{SendCommand('UA-color: color8'); }
{SendCommand('UA-OS: Windows 95'); }
{SendCommand('UA-CPU: x86'); }
{SendCommand('User-Agent: Mozilla/3.0 (compatible)');} {; MSIE 3.01; Update a; Windows 95)');}
    if FAgent <> '' then
        SendCommand('User-Agent: ' + FAgent);
    SendCommand('Host: ' + FTargetHost);
    if FNoCache then
        SendCommand('Pragma: no-cache');
    if method = 'POST' then
        SendCommand('Content-Length: ' + IntToStr(SendStream.Size));
    if FModifiedSince <> 0 then
        SendCommand('If-Modified-Since: ' +
                    RFC1123_Date(FModifiedSince) + ' GMT');
    if FUsername <> '' then
        SendCommand('Authorization: Basic ' +
                    EncodeStr(encBase64, FUsername + ':' + FPassword));
    if (FProxy <> '') and (FProxyUsername <> '') then
        SendCommand('Proxy-Authorization: Basic ' +
                    EncodeStr(encBase64, FProxyUsername + ':' + FProxyPassword));
{SendCommand('Proxy-Connection: Keep-Alive'); }
    if FCookie <> '' then
        SendCommand('Cookie: ' + FCookie);
    if (FContentRangeBegin <> '') or (FContentRangeEnd <> '') then begin            {JMR!! Added this line!!!}
        SendCommand('Range: bytes=' + FContentRangeBegin + '-' + FContentRangeEnd); {JMR!! Added this line!!!}
      FContentRangeBegin := '';                                                     {JMR!! Added this line!!!}
      FContentRangeEnd   := '';                                                     {JMR!! Added this line!!!}
    end;                                                                            {JMR!! Added this line!!!}
    FAcceptRanges := '';

    TriggerRequestHeaderEnd;
    SendCommand('');
    FWSocket.Send(FReqStream.Memory, FReqStream.Size);
    FReqStream.Clear;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.GetBodyLineNext;
var
    Len  : Integer;
    Data : Pointer;
const
    CRLF : String[2] = #13#10;
begin
    if FBodyLineCount = 0 then
        TriggerDocBegin;
    Inc(FBodyLineCount);

    Len := Length(FLastResponse);
    if Len > 0 then
        Data := @FLastResponse[1]
    else
        Data := @Len;
    FRcvdCount := FRcvdCount + Len;

    if Assigned(FRcvdStream) then
        FRcvdStream.WriteBuffer(Data^, Len);
    TriggerDocData(Data, Len);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure THttpCli.GetHeaderLineNext;
var
    proto   : String;
    user    : String;
    pass    : String;
    port    : String;
    Host    : String;
    Path    : String;
    Field   : String;
    Data    : String;
    nSep    : Integer;
    tmpInt  : LongInt;
    bAccept : Boolean;
begin
    if FHeaderLineCount = 0 then
        TriggerHeaderBegin;
    Inc(FHeaderLineCount);

    { Some server send HTML document without header ! I don't know if it is  }
    { legal, but it exists (AltaVista Discovery does that).                  }
    if UpperCase(Copy(FLastResponse, 1, 6)) = '<HTML>' then begin { 15/09/98 }
        if FContentType = '' then
            FContentType := 'text/html';
        StateChange(httpWaitingBody);
        FNext := GetBodyLineNext;
        TriggerHeaderEnd;
        GetBodyLineNext;
        Exit;
    end;

    if FLastResponse = '' then begin
        if FLocationFlag then begin
            TriggerHeaderEnd;
            FReceiveLen       := 0;
            FHeaderLineCount  := 0;
            FBodyLineCount    := 0;
            FWSocket.OnSessionClosed := LocationSessionClosed;
            FWSocket.Close;
            Exit;
        end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲区小说区图片区qvod| 欧美成人在线直播| 国产一区二区三区四区五区入口 | 在线不卡中文字幕| 国产成人在线网站| 国产成a人亚洲精| 国产91在线|亚洲| 成人黄色av电影| 99re热这里只有精品免费视频| 成人av在线影院| 在线观看91精品国产入口| 欧美日韩国产高清一区二区| 91精品久久久久久久99蜜桃| 久久婷婷国产综合国色天香| 国产精品丝袜久久久久久app| 国产精品久久久久久久久免费丝袜| 国产精品成人午夜| 一区二区三区日韩欧美| 日韩av网站在线观看| 国产又粗又猛又爽又黄91精品| 国产91富婆露脸刺激对白| www.欧美.com| 欧洲生活片亚洲生活在线观看| 制服丝袜中文字幕一区| 久久精品视频在线免费观看 | 一区二区三区小说| 亚洲国产欧美在线人成| 毛片基地黄久久久久久天堂| 国产iv一区二区三区| 欧美在线一区二区| 精品久久久久香蕉网| 国产女主播视频一区二区| 亚洲免费在线视频一区 二区| 日韩影院精彩在线| 97久久精品人人做人人爽50路 | 不卡欧美aaaaa| 777久久久精品| 国产精品传媒视频| 免费人成网站在线观看欧美高清| 国产99精品国产| 欧美精品丝袜久久久中文字幕| 国产欧美va欧美不卡在线| 婷婷激情综合网| 9人人澡人人爽人人精品| 欧美一区二区三区不卡| 亚洲靠逼com| 福利一区在线观看| 日韩欧美国产一区二区在线播放 | 国产一区二区精品久久91| 在线精品亚洲一区二区不卡| 久久久久久黄色| 免费xxxx性欧美18vr| 一本色道亚洲精品aⅴ| 国产亚洲欧美中文| 六月丁香婷婷久久| 欧美日韩一区久久| 亚洲丝袜另类动漫二区| 岛国精品在线播放| 精品国产乱码久久久久久图片| 亚洲第一av色| 欧美调教femdomvk| 亚洲男人天堂一区| hitomi一区二区三区精品| 国产日产亚洲精品系列| 精品一区二区三区视频在线观看| 欧美日韩五月天| 亚洲福利电影网| 在线影视一区二区三区| 中文字幕一区二区在线观看| 国产精品自在在线| 久久精品欧美一区二区三区麻豆| 久久66热re国产| 精品国产凹凸成av人网站| 精品亚洲欧美一区| 久久综合九色综合欧美就去吻| 捆绑调教美女网站视频一区| 久久婷婷国产综合精品青草| 午夜视频一区在线观看| 4hu四虎永久在线影院成人| 亚洲一区国产视频| 欧美日韩精品一区视频| 亚洲欧美激情小说另类| 欧美在线观看一二区| 亚洲成a人在线观看| 欧美卡1卡2卡| 日本成人中文字幕在线视频| 日韩欧美综合一区| 国产iv一区二区三区| 最新热久久免费视频| 欧美视频自拍偷拍| 蜜桃传媒麻豆第一区在线观看| 日韩一区二区精品在线观看| 国产乱人伦偷精品视频不卡 | 狠狠色综合播放一区二区| 久久嫩草精品久久久精品| 国产一区二区不卡老阿姨| 久久精品视频在线免费观看| 91网站最新地址| 日韩国产精品大片| 久久精品亚洲国产奇米99| 91成人在线免费观看| 蜜臀a∨国产成人精品| 日本一区二区三区在线不卡| 在线亚洲免费视频| 精品在线你懂的| 中文字幕一区二| 欧美日韩第一区日日骚| 国产传媒欧美日韩成人| 亚洲激情欧美激情| 久久综合久久99| 欧洲一区在线观看| 国产激情精品久久久第一区二区| 亚洲欧美色图小说| 日韩精品资源二区在线| 91免费视频网址| 久久99国产精品久久99果冻传媒| 亚洲欧洲美洲综合色网| 精品久久久三级丝袜| 色综合久久综合| 国产精品资源在线看| 午夜欧美电影在线观看| 国产精品第一页第二页第三页| 欧美精品tushy高清| 顶级嫩模精品视频在线看| 石原莉奈一区二区三区在线观看| 国产欧美日韩卡一| 日韩午夜中文字幕| 欧美日韩一区二区三区免费看| 九九国产精品视频| 天堂va蜜桃一区二区三区漫画版| 国产精品无圣光一区二区| 精品国产伦一区二区三区观看体验 | 懂色av噜噜一区二区三区av| 午夜天堂影视香蕉久久| 国产精品久久久久久久久快鸭| 日韩精品一区二区三区蜜臀| 欧美日韩综合在线| 色婷婷激情综合| 99久久免费国产| 国产福利91精品| 国产乱码精品一区二区三区av| 日韩国产欧美视频| 三级一区在线视频先锋| 亚洲一区中文在线| 亚洲欧美另类图片小说| 欧美国产精品中文字幕| 国产亚洲精品中文字幕| 国产日产欧美一区| 中日韩免费视频中文字幕| 国产欧美日韩在线视频| 亚洲国产精品成人综合| 亚洲国产成人在线| 中文字幕亚洲一区二区av在线| 国产三级精品视频| 国产精品伦理在线| 自拍偷拍欧美激情| 亚洲最大成人综合| 亚洲成人免费电影| 日韩av网站免费在线| 蜜臀av国产精品久久久久| 日本欧美肥老太交大片| 九色|91porny| 高清国产一区二区| 国产凹凸在线观看一区二区| 成人午夜在线视频| av高清久久久| 欧美日韩一二区| 91精品国产综合久久久久久漫画 | 国产一区二区三区观看| 精品一区二区精品| 成人在线一区二区三区| 91视频.com| 欧美另类变人与禽xxxxx| 欧美一区二区黄色| 中文字幕欧美区| 亚洲国产va精品久久久不卡综合| 日韩激情一二三区| 高清国产午夜精品久久久久久| 色域天天综合网| 欧美变态凌虐bdsm| 成人免费一区二区三区在线观看| 亚洲另类春色校园小说| 久久精品国产秦先生| 成人晚上爱看视频| 欧美精品 日韩| 中文久久乱码一区二区| 偷拍亚洲欧洲综合| 国产一区二区在线免费观看| 色婷婷久久久亚洲一区二区三区| 6080午夜不卡| 国产精品久久久久一区| 日本视频免费一区| 99视频超级精品| 精品久久久久久久久久久久久久久 | 日韩免费电影网站| 专区另类欧美日韩| 国产一区二区三区观看| 欧美三级三级三级爽爽爽| 国产日韩三级在线| 91啪亚洲精品|