HttpsPostGet
来源:互联网 发布:mac触摸屏 鼠标右键 编辑:程序博客网 时间:2024/04/29 04:18
unit Unit1;interfaceuses Classes, WinINet,Sysutils,windows, IDURI;procedure Get(url: string;res: TStream); overload;procedure Post(url, data:string;res:TStream); overload;function Get(url: string): string; overload;function Post(url, data: string): string; overload;implementationfunction Get(url: string): string;var s: TStringStream;begin s := TStringStream.Create(''); try Get(url, s); result := s.DataString; finally s.Free; end;end;function Post(url, data: string): string;var s: TStringStream;begin s := TStringStream.Create(''); try Get(url, s); result := s.DataString; finally s.Free; end;end;procedure Post(url, data:string;res:TStream);var hInt,hConn,hreq:HINTERNET; buffer:PChar; dwRead, dwFlags:cardinal; port: Word; uri: TIdURI; proto, host, path: string;begin uri := TIdURI.Create(url); host := uri.Host; path := uri.Path + uri.Document; proto := uri.Protocol; uri.Free; if UpperCase(proto) = 'HTTPS' then begin port := INTERNET_DEFAULT_HTTPS_PORT; dwFlags := INTERNET_FLAG_SECURE; end else begin port := INTERNET_INVALID_PORT_NUMBER; dwFlags := INTERNET_FLAG_RELOAD; end; hInt := InternetOpen('Delphi',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0); hConn := InternetConnect(hInt,PChar(host),port,nil,nil,INTERNET_SERVICE_HTTP,0,0); hreq := HttpOpenRequest(hConn,'POST',PChar(Path),'HTTP/1.1',nil,nil,dwFlags,0); GetMem(buffer, 65536); if HttpSendRequest(hReq,nil,0,PChar(data),Length(data)) then begin dwRead:=0; repeat InternetReadFile(hreq,buffer,65536,dwRead); if dwRead<>0 then res.Write(buffer^, dwRead); until dwRead=0; end; InternetCloseHandle(hreq); InternetCloseHandle(hConn); InternetCloseHandle(hInt); FreeMem(buffer);end;procedure Get(url: string;res: TStream);var hInt,hUrl:HINTERNET; buffer:PChar; dwRead:cardinal;begin GetMem(buffer, 65536); hInt := InternetOpen('Delphi',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0); dwRead:=0; hurl:=InternetOpenUrl(hInt,PChar(url),nil,0,INTERNET_FLAG_RELOAD,0); repeat InternetReadFile(hUrl,buffer,1000,dwRead); if dwRead<>0 then res.Write(buffer^, dwRead); until dwRead=0; InternetCloseHandle(hUrl); InternetCloseHandle(hInt); FreeMem(buffer);end;end.
0 0
- HttpsPostGet
- 淘宝群发号常熟淘宝培训 常熟哪里有淘宝网店培训班 学习专业的淘宝知识 像南方教育看齐
- java基础课程(二)--Java程序简单解释和基本数据类型
- Stanford机器学习---第九讲. 聚类
- JDBC中的SQL
- python下函数参数的传递(*和**)
- HttpsPostGet
- 输出日志信息是指Android应用
- spring security3.x学习(16)_JdbcUserDetailManager的使用
- Stanford机器学习---第十讲. 数据降维
- timus 1242. Werewolf【队列+结构体】
- DWZ(JUI) 教程 左侧栏默认是关闭状态的问题
- python的stat模块
- CocoaAsyncSocket学习
- Python 的 cx_Oracle 模块