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

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

?? alhttpcommon.pas

?? Description: common http function that can be use by HTTP Component
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
    for i:= 0 to aRawHeaderLst.Count - 1 do
    begin
      index := pos(aname, aRawHeaderLst[i]);
      if index = 1 then
      begin
        bFound := true;
        break;
      end;
    end;

    if bFound then
    begin
      result := copy(aRawHeaderLst[i], index + Length(aName) + 1, Length(aRawHeaderLst[i]));
      result := trim(result);
      aRawHeaderLst.Delete(i);
    end;
    {
    I := aRawHeaderLst.IndexOfName(aName);
    If I >= 0 then Begin
      result := Trim(aRawHeaderLst.Values[aName]);
      aRawHeaderLst.Delete(i);
    end
    else result := '';
    }
  end;

begin
  aRawHeaderLst := TstringList.create;
  try
    aRawHeaderLst.Delimiter := ':';
    aRawHeaderLst.Text := aRawHeaderText;

    fAccept := Alg001('Accept');
    fAcceptCharSet := Alg001('Accept-Charset');
    fAcceptEncoding := Alg001('Accept-Encoding');
    fAcceptLanguage := Alg001('Accept-Language');
    fAllow := Alg001('Allow');
    fAuthorization := Alg001('Authorization');
    fCacheControl := Alg001('Cache-Control');
    fConnection := Alg001('Connection');
    fContentEncoding := Alg001('Content-Encoding');
    fContentLanguage := Alg001('Content-Language');
    fContentLength := Alg001('Content-Length');
    fContentLocation := Alg001('Content-Location');
    fContentMD5 := Alg001('Content-MD5');
    fContentRange := Alg001('Content-Range');
    fContentType := Alg001('Content-Type');
    fDate := Alg001('Date');
    fExpect := Alg001('Expect');
    fExpires := Alg001('Expires');
    fFrom := Alg001('From');
    fHost := Alg001('Host');
    fIfMatch := Alg001('If-Match');
    fIfModifiedSince := Alg001('If-Modified-Since');
    fIfNoneMatch := Alg001('If-None-Match');
    fIfRange := Alg001('If-Range');
    fIfUnmodifiedSince := Alg001('If-Unmodified-Since');
    fLastModified := Alg001('Last-Modified');
    fMaxForwards := Alg001('Max-Forwards');
    fPragma := Alg001('Pragma');
    fProxyAuthorization := Alg001('Proxy-Authorization');
    fRange := Alg001('Range');
    fReferer := Alg001('Referer');
    fTE := Alg001('TE');
    fTrailer := Alg001('Trailer');
    fTransferEncoding := Alg001('Transfer-Encoding');
    fUpgrade := Alg001('Upgrade');
    fUserAgent := Alg001('User-Agent');
    fVia := Alg001('Via');
    fWarning := Alg001('Warning');

    FCookies.clear;
    J := aRawHeaderLst.IndexOfName('Set-Cookie');
    While J >= 0 do begin
      If trim(aRawHeaderLst.Values['Set-Cookie']) <> '' then
        Cookies.Add.HeaderValue := Trim(aRawHeaderLst.Values['Set-Cookie']);
      aRawHeaderLst.Delete(j);
      J := aRawHeaderLst.IndexOfName('Set-Cookie');
    end;

    FCustomHeaders.clear;
    For j := 0 to aRawHeaderLst.count - 1 do
      If trim(aRawHeaderLst[j]) <> '' then
        FCustomHeaders.Add(aRawHeaderLst[j]);

    DoChange(-1);
  finally
    aRawHeaderLst.Free;
  end;
end;

{*********************************************************}
procedure TALHTTPRequestHeader.AssignTo(Dest: TPersistent);
begin
  if Dest is TALHTTPRequestHeader then begin
    with Dest as TALHTTPRequestHeader do begin
      fAccept := self.fAccept;
      fAcceptCharSet := self.fAcceptCharSet;
      fAcceptEncoding := self.fAcceptEncoding;
      fAcceptLanguage := self.fAcceptLanguage;
      fAllow := self.fAllow;
      fAuthorization := self.fAuthorization;
      fCacheControl := self.fCacheControl;
      fConnection := self.fConnection;
      fContentEncoding := self.fContentEncoding;
      fContentLanguage := self.fContentLanguage;
      fContentLength := self.fContentLength;
      fContentLocation := self.fContentLocation;
      fContentMD5 := self.fContentMD5;
      fContentRange := self.fContentRange;
      fContentType := self.fContentType;
      fDate := self.fDate;
      fExpect := self.fExpect;
      fExpires := self.fExpires;
      fFrom := self.fFrom;
      fHost := self.fHost;
      fIfMatch := self.fIfMatch;
      fIfModifiedSince := self.fIfModifiedSince;
      fIfNoneMatch := self.fIfNoneMatch;
      fIfRange := self.fIfRange;
      fIfUnmodifiedSince := self.fIfUnmodifiedSince;
      fLastModified := self.fLastModified;
      fMaxForwards := self.fMaxForwards;
      fPragma := self.fPragma;
      fProxyAuthorization := self.fProxyAuthorization;
      fRange := self.fRange;
      fReferer := self.fReferer;
      fTE := self.fTE;
      fTrailer := self.fTrailer;
      fTransferEncoding := self.fTransferEncoding;
      fUpgrade := self.fUpgrade;
      fUserAgent := self.fUserAgent;
      fVia := self.fVia;
      fWarning := self.fWarning;
      fCustomHeaders.assign(self.fCustomHeaders);
      FCookies.Assign(self.fCookies);
      Dochange(-1);
    end;
  end
  else inherited AssignTo(Dest);
end;

{*************************************************************************************}
procedure TALHTTPRequestHeader.SetCookies(const Value: TALHTTPRequestCookieCollection);
begin
  FCookies.Assign(Value);
end;

{*********************************************************************}
procedure TALHTTPRequestHeader.SetCustomHeaders(const Value: Tstrings);
begin
  FCustomHeaders.Assign(Value);
end;



///////////////////////////////////////////////////////////////////////////////////////
////////// Http Misc function /////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////

{************************************************}
function ALHTTPDecode(const AStr: String): String;
Var s: String;
Begin
  {HTTPDecode from HTTPApp unit}
  S := httpDecode(aStr);

  {To Handle UTF8 Encoded Char}
  Result := utf8decode(S);
  If result = '' then result := s;
End;

{*****************************************************}
function ALHTTPEncodeParam(const AStr: String): String;
begin
  {finally HTTPEncode from HTTP APP is OK}
  Result := HTTPEncode(AStr);
end;

{***********************************************************}
procedure ALHTTPEncodeParamNameValues(ParamValues: TStrings);
var i: Integer;
    LPos: integer;
    LStr: string;
begin
  for i := 0 to ParamValues.Count - 1 do begin
    LStr := ParamValues[i];
    LPos := AlPos('=', LStr);
    if LPos > 0 then ParamValues[i] := AlCopyStr(LStr, 1, LPos-1) + '=' + ALHTTPEncodeParam(AlCopyStr(LStr, LPos+1, MAXINT));
  end;
end;

{********************************************************}
{Parses a multi-valued string into its constituent fields.
 ExtractHTTPFields is a general utility to parse multi-valued HTTP header strings into separate substrings.
 *Separators is a set of characters that are used to separate individual values within the multi-valued string.
 *WhiteSpace is a set of characters that are to be ignored when parsing the string.
 *Content is the multi-valued string to be parsed.
 *Strings is the TStrings object that receives the individual values that are parsed from Content.
 *StripQuotes determines whether the surrounding quotes are removed from the resulting items. When StripQuotes is true, surrounding quotes are
  removed before substrings are added to Strings.
 Note:	Characters contained in Separators or WhiteSpace are treated as part of a value substring if the substring is surrounded by single
 or double quote marks. HTTP escape characters are converted using the HTTPDecode function.}
procedure ALExtractHTTPFields(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings; StripQuotes: Boolean = False);
begin
  ALExtractHeaderFields(Separators, WhiteSpace, Content, Strings, True, StripQuotes);
end;

{************************************************************}
Function AlExtractShemeFromUrl(aUrl: String): TInternetScheme;
var URLComp: TURLComponents;
    P: PChar;
begin
  FillChar(URLComp, SizeOf(URLComp), 0);
  URLComp.dwStructSize := SizeOf(URLComp);
  URLComp.dwHostNameLength := 1;
  P := PChar(aUrl);
  if InternetCrackUrl(P, 0, 0, URLComp) then Result := UrlComp.nScheme
  else result := INTERNET_SCHEME_UNKNOWN;
end;

{******************************************************}
Function AlExtractHostNameFromUrl(aUrl: String): String;
var URLComp: TURLComponents;
    P: PChar;
begin
  FillChar(URLComp, SizeOf(URLComp), 0);
  URLComp.dwStructSize := SizeOf(URLComp);
  URLComp.dwHostNameLength := 1;
  P := PChar(aUrl);
  if InternetCrackUrl(P, 0, 0, URLComp) then Result := AlCopyStr(aUrl, URLComp.lpszHostName - P + 1, URLComp.dwHostNameLength) // www.mysite.com
  else result := '';
end;

{**********************************************************************************}
Function AlRemoveAnchorFromUrl(aUrl: String; Var aAnchor: String): String; overload;
var URLComp: TURLComponents;
    P: PChar;
begin
  FillChar(URLComp, SizeOf(URLComp), 0);
  URLComp.dwStructSize := SizeOf(URLComp);
  URLComp.dwExtraInfoLength := 1;
  P := PChar(aUrl);
  If InternetCrackUrl(P, 0, 0, URLComp) then begin
    aAnchor := AlCopyStr(aUrl, URLComp.lpszExtraInfo - P + 1, URLComp.dwExtraInfoLength); // #foo
    If alCharPos('#',aAnchor) = 1 then Result := AlCopyStr(aUrl, 1, length(aurl) - length(aAnchor)) // www.mysite.com/blabla.htm
    else begin
      result := aUrl;
      aAnchor := '';
    end;
  end
  else begin
    result := aUrl;
    aAnchor := '';
  end;
end;

{*************************************************************}
Function AlRemoveAnchorFromUrl(aUrl: String): String; overload;
var aAnchor: String;
begin
  result := AlRemoveAnchorFromUrl(aUrl,aAnchor);
end;

{**********************************************************}
function AlCombineUrl(RelativeUrl, BaseUrl: String): String;
var  S: String;
     Size: Dword;
begin
  case AlExtractShemeFromUrl(RelativeUrl) of

    {relative path.. so try to combine the url}
    INTERNET_SCHEME_PARTIAL,
    INTERNET_SCHEME_UNKNOWN,
    INTERNET_SCHEME_DEFAULT: begin
                               Size := INTERNET_MAX_URL_LENGTH;
                               SetLength(s, Size);
                               if InternetCombineUrl(PChar(BaseUrl), PChar(RelativeUrl), @s[1], size, ICU_BROWSER_MODE or ICU_no_encode) then begin
                                 SetLength(s, Size);
                                 Result := s;
                               end
                               else result := RelativeUrl;
                             end;

    {not a relative path}
    else result := RelativeUrl;

  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一区字幕| 亚洲视频免费观看| 色婷婷香蕉在线一区二区| 五月婷婷综合在线| 欧美国产日韩在线观看| 欧美日韩免费一区二区三区视频| 国产精品1区二区.| 午夜精品成人在线| 亚洲视频一二三| 久久影院午夜片一区| 欧美色视频在线观看| 懂色av中文字幕一区二区三区| 婷婷久久综合九色综合伊人色| 国产精品久久久久天堂| 日韩欧美精品三级| 欧美日韩视频在线第一区| 丁香一区二区三区| 国产综合久久久久久鬼色| 亚洲午夜久久久久久久久电影院 | 国产91清纯白嫩初高中在线观看| 日韩高清在线不卡| 亚洲猫色日本管| 中文av一区特黄| 日韩美女一区二区三区| 粉嫩aⅴ一区二区三区四区 | 日本精品免费观看高清观看| 亚洲精品国产高清久久伦理二区| 国产99久久久久久免费看农村| 日韩免费高清电影| 国产精品一区二区久激情瑜伽| 久久久久国产精品麻豆ai换脸| 在线观看欧美精品| 成人看片黄a免费看在线| 日韩高清国产一区在线| 一区二区久久久| 亚洲男同性视频| 国产精品久99| 国产欧美精品一区aⅴ影院| 精品美女被调教视频大全网站| 91麻豆精品国产91久久久久久久久 | 欧美日精品一区视频| 欧美综合在线视频| 97精品电影院| 色哟哟亚洲精品| 在线免费观看一区| 欧美综合亚洲图片综合区| 一本到一区二区三区| 91丨国产丨九色丨pron| 色哟哟一区二区三区| 日本久久精品电影| 欧洲色大大久久| 欧美人体做爰大胆视频| 欧美日韩午夜精品| 欧美一区二区三区四区高清| 欧美一区二区三区精品| 欧美一区二区在线视频| 精品日韩一区二区三区免费视频| 久久综合精品国产一区二区三区| 国产视频一区二区三区在线观看 | 香蕉久久夜色精品国产使用方法| 亚洲h动漫在线| 蜜臀av性久久久久蜜臀aⅴ| 精品一区二区三区香蕉蜜桃 | 精品视频在线看| 日韩欧美卡一卡二| 欧美激情一区二区三区不卡| 自拍视频在线观看一区二区| 亚洲影院免费观看| 奇米精品一区二区三区四区| 国产乱子轮精品视频| av亚洲产国偷v产偷v自拍| 91蝌蚪porny| 91黄视频在线| 欧美一区欧美二区| 精品久久一区二区| 久久久精品一品道一区| 国产精品视频第一区| 亚洲精品视频在线看| 亚洲高清免费观看高清完整版在线观看| 亚洲综合一区二区| 日日夜夜一区二区| 久久99日本精品| 成人综合在线观看| 91视频免费观看| 欧美顶级少妇做爰| 久久久久久黄色| 亚洲欧洲日韩综合一区二区| 亚洲黄色免费网站| 蜜臀99久久精品久久久久久软件| 国产一区999| 91在线精品一区二区| 欧美丝袜丝交足nylons图片| 欧美美女喷水视频| 久久久噜噜噜久噜久久综合| 亚洲欧美日韩国产综合在线| 国产精品不卡在线| 综合久久给合久久狠狠狠97色| 亚洲不卡在线观看| 国产在线一区观看| 91美女在线观看| 日韩精品最新网址| 日本一二三不卡| 视频一区二区三区入口| 国产成人精品一区二区三区网站观看| 91视视频在线观看入口直接观看www | 久久久久久久综合日本| 国产精品短视频| 日韩精品一二三区| 国产精品亚洲一区二区三区在线| 一本大道综合伊人精品热热 | 日韩午夜电影av| 国产精品色哟哟网站| 婷婷综合五月天| 国产一区欧美一区| 欧美日韩精品高清| 中文字幕在线不卡一区| 美国欧美日韩国产在线播放| 97aⅴ精品视频一二三区| 欧美成人精品1314www| 久久久久久久久久久久久久久99 | 一区二区三区在线播放| 蜜桃视频在线一区| 91麻豆精品秘密| 国产午夜精品一区二区三区嫩草 | 激情五月激情综合网| aaa国产一区| 国产欧美日韩中文久久| 五月天丁香久久| 色婷婷综合五月| 日本一二三不卡| 加勒比av一区二区| 欧美色网一区二区| 自拍偷拍亚洲综合| 色综合天天狠狠| 欧美高清在线精品一区| 久久爱www久久做| 91精品国产综合久久久久久久久久 | 精品成人一区二区三区四区| 亚洲国产成人av网| av电影一区二区| 久久精品视频网| 国产麻豆精品theporn| 欧美一级国产精品| 亚洲mv在线观看| 精品电影一区二区三区| 亚洲高清一区二区三区| 91久久免费观看| 亚洲人精品一区| a4yy欧美一区二区三区| 国产精品免费丝袜| 国产成人精品免费一区二区| 久久久精品黄色| 国产乱子轮精品视频| 日韩久久精品一区| 久久精品国产一区二区| 日韩一区二区免费视频| 日本在线不卡一区| 欧美一级久久久久久久大片| 男人的天堂亚洲一区| 精品日韩一区二区| 国产精品主播直播| 久久尤物电影视频在线观看| 国产成人在线免费| 精品国产区一区| 99国产一区二区三精品乱码| 综合av第一页| 欧美性受xxxx| 日韩中文字幕不卡| 91精品久久久久久久99蜜桃| 亚洲综合激情另类小说区| 91蜜桃网址入口| 亚洲国产成人av网| 日韩一区二区免费在线电影| 国产精品一区二区无线| 国产日产亚洲精品系列| 91在线观看下载| 亚洲国产成人va在线观看天堂| 91精品国产综合久久久久久漫画| 精品系列免费在线观看| 国产日韩精品一区二区浪潮av| 欧美在线免费观看亚洲| 香蕉影视欧美成人| 欧美mv日韩mv国产网站app| 国产精品资源站在线| 亚洲天天做日日做天天谢日日欢| 欧美性xxxxxxxx| 国产剧情一区二区| 亚洲精选一二三| 日韩女优av电影| 成人一级黄色片| 亚洲成人在线免费| 日韩一区二区三区av| 91农村精品一区二区在线| 亚洲成人免费观看| 精品嫩草影院久久| 99久久99久久精品免费观看| 日韩av一二三| 国产亚洲精品bt天堂精选| 国产精品青草久久| 精品视频免费在线|