一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Delphi 用WinInet 單元實(shí)現(xiàn) POST提交數(shù)據(jù)

 delphi_筆記 2018-08-30
function WebPagePost(sURL,sPostData:string):Pointer;stdcall;
const
  RequestMethod = 'POST';
  HTTP_VERSION  = 'HTTP/1.1';  //HTTP版本 我抓包看過 HTTP/1.0 HTTP/1.1。尚未仔細(xì)了解其區(qū)別。按MSDN來寫的。留空默認(rèn)是1.0
var
  dwSize:DWORD;
  dwFileSize: Int64;
  dwBytesRead,dwReserved:DWORD;
  hInte,hConnection,hRequest:HInternet;
  ContentSize:array[1..1024] of Char;
  HostPort:Integer;
  HostName,FileName,sHeader:String;
  procedure ParseURL(URL: string;var HostName,FileName:string;var HostPort:Integer);
  var
    i,p,k: DWORD;
    function StrToIntDef(const S: string; Default: Integer): Integer;
    var
      E: Integer;
    begin
      Val(S, Result, E);
      if E <> 0 then Result := Default;
    end;
  begin
    if lstrcmpi('http://',PChar(Copy(URL,1,7))) = 0 then System.Delete(URL, 1, 7);
    HostName := URL;
    FileName := '/';
    HostPort := INTERNET_DEFAULT_HTTP_PORT;
    i := Pos('/', URL);
    if i <> 0 then
    begin
      HostName := Copy(URL, 1, i-1);
      FileName := Copy(URL, i, Length(URL) - i + 1);
    end;
    p:=pos(':',HostName);
    if p <> 0 then
    begin
      k:=Length(HostName)-p;
      HostPort:=StrToIntDef(Copy(HostName,p+1,k),INTERNET_DEFAULT_HTTP_PORT);
      Delete(HostName,p,k+1);
    end;
  end;
begin
  Result := Pointer(-1);
  dwFileSize :=0;
  ParseURL(sURL,HostName,FileName,HostPort);
  // 函數(shù)原型見 http://technet.microsoft.com/zh-cn/subscriptions/aa385096(v=vs.85).aspx
  hInte := InternetOpen('', //UserAgent
                           INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
  if hInte<>nil then
  begin
    hConnection := InternetConnect(hInte,   // 函數(shù)原型見 http://technet.microsoft.com/zh-cn/query/ms909418
                                   PChar(HostName),
                                   HostPort,
                                   nil,
                                   nil,
                                   INTERNET_SERVICE_HTTP,
                                   0,
                                   0);
    if hConnection<>nil then
    begin
      hRequest := HttpOpenRequest(hConnection,  // 函數(shù)原型見 http://msdn.microsoft.com/zh-cn/library/aa917871
                                  PChar(RequestMethod),
                                  PChar(FileName),
                                  HTTP_VERSION,
                                  '', //Referrer 來路
                                  nil,//AcceptTypes 接受的文件類型 TEXT/HTML */*
                                  INTERNET_FLAG_NO_CACHE_WRITE or
                                  INTERNET_FLAG_RELOAD,
                                  0);
      if hRequest<>nil then
      begin
        sHeader := 'Content-Type: application/x-www-form-urlencoded' + #13#10;
    //    +'CLIENT-IP: 216.13.23.33'+#13#10
    //    'X-FORWARDED-FOR: 216.13.23.33' + #13#10+; 偽造代理IP

        // 函數(shù)原型見 http://msdn.microsoft.com/zh-cn/library/aa384227(v=VS.85)
        HttpAddRequestHeaders(hRequest,PChar(sHeader),
                              Length(sHeader),
                              HTTP_ADDREQ_FLAG_ADD or HTTP_ADDREQ_FLAG_REPLACE);
        // 函數(shù)原型見 http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa384247(v=vs.85).aspx
        if HttpSendRequest(hRequest,nil,0,PChar(sPostData),Length(sPostData)) then
        begin
          dwReserved:=0;
          dwSize:=SizeOf(ContentSize);
          // 函數(shù)原型 http://msdn.microsoft.com/zh-cn/subscriptions/downloads/aa384238.aspx
          if HttpQueryInfo(hRequest,HTTP_QUERY_CONTENT_LENGTH,@ContentSize,dwSize,dwReserved) then
          begin
            dwFileSize:=StrToInt(StrPas(@ContentSize));
            GetMem(Result, dwFileSize);
            InternetReadFile(hRequest,Result,dwFileSize,dwBytesRead);
          end;
        end;
      end;
      InternetCloseHandle(hRequest);
    end;
    InternetCloseHandle(hConnection);
  end;
  InternetCloseHandle(hInte);
end;

調(diào)用方法:

WebPagePost('http://www./register.php','user=xxx;pass=xxx');

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产免费操美女逼视频| 出差被公高潮久久中文字幕| 精品久久综合日本欧美| 亚洲中文字幕在线观看黑人| 黄色片一区二区在线观看| 九九热精彩视频在线播放| 欧美日韩精品久久亚洲区熟妇人| 久热香蕉精品视频在线播放| 激情图日韩精品中文字幕| 黑人粗大一区二区三区| 亚洲永久一区二区三区在线| 国产av大片一区二区三区| 精品推荐久久久国产av| 国内午夜精品视频在线观看| 日韩欧美91在线视频| 欧美日韩国产精品黄片| 高清免费在线不卡视频| 伊人网免费在线观看高清版| 出差被公高潮久久中文字幕| 小黄片大全欧美一区二区| 国产高清一区二区不卡| 中文字幕中文字幕一区二区| 香蕉尹人视频在线精品| 亚洲中文字幕乱码亚洲| 欧美在线视频一区观看| 香蕉尹人视频在线精品| 色小姐干香蕉在线综合网| 翘臀少妇成人一区二区| 日韩不卡一区二区在线| 国产精品自拍杆香蕉视频| 日本人妻熟女一区二区三区 | 国产欧美一区二区久久| 午夜久久精品福利视频| 国产精品免费福利在线| 黑色丝袜脚足国产一区二区| 麻豆tv传媒在线观看| 欧美一本在线免费观看| 激情爱爱一区二区三区| 夫妻性生活真人动作视频| 97人妻精品一区二区三区免| 东京热加勒比一区二区三区|