delphi XE8 NetHTTPRequest NetHTTPClient
delphi xe8 推出2个新http控件,NetHTTPRequest、NetHTTPClient
可以调用ASP.Net 一般应用程序获取网页数据,用旧的控件idhttp控件也可以,推荐用新的这2个组件。
http://localhost:52384/Handler1.ashx
procedure TForm5.Button1Click(Sender: TObject);
var
ss: TStringStream;
begin
ss := TStringStream.Create('', TEncoding.ASCII);//中文用UTF8
ss.Clear; self.NetHTTPClient1.Get(url, ss); self.Caption := ss.DataString; ss.Free; end;
procedure TForm5.Button2Click(Sender: TObject);
var
ss: TStringStream;
begin
ss := TStringStream.Create('', TEncoding.ASCII);
ss.Clear;
self.NetHTTPRequest1.Get(url);
self.Caption := ss.DataString;
ss.Free;
end;
http://docwiki.embarcadero.com/RADStudio/XE8/en/What's_New_in_Delphi_and_C%2B%2BBuilder_XE8
New HTTP Client API
The RTL provides several new network units with members that let you create an HTTP client, send requests to HTTP servers and handle their responses.
Using an HTTP Client explains how to use the two new HTTP components, TNetHTTPClient and TNetHTTPRequest, to handle HTTP requests. See also the main HTTP client classes:
- THTTPClient, that represents an HTTP client.
 - THTTPRequest, that represents a request from your client to a server.
 - THTTPResponse, that represents the server response to a request from your client.
 
THTTPClient
http://docwiki.embarcadero.com/Libraries/Berlin/en/System.Net.HttpClient.THTTPClient
OnReceiveData
example code
http://docwiki.embarcadero.com/CodeExamples/Berlin/en/RTL.HttpAsyncDownload_Sample
self.NetHTTPClient1.Get('www.sohu.com').ContentAsString(TEncoding.UTF8);
NetHTTPClient
var
url: string;
ss: tstringstream;
begin
url := Edit1.Text; ss := tstringstream.Create('', tencoding.UTF8);
ss.WriteString(Memo1.Text);
self.NetHTTPClient1.Accept := 'text/html, application/xhtml+xml, */*';
self.NetHTTPClient1.ContentType := 'application/x-www-form-urlencoded';//application/json
self.NetHTTPClient1.AcceptEncoding := 'UTF-8';
ss.Position := ;
Memo2.Text := self.NetHTTPClient1.Post(url, ss).ContentAsString(tencoding.UTF8); ss.Free;
end;
IdHTTP
self.IdHTTP1.Request.ContentType:='application/x-www-form-urlencoded';
self.IdHTTP1.Request.Accept:= 'text/html, application/xhtml+xml, */*';//application/json
self.Memo2.Text:=self.IdHTTP1.Post(url,ss);
NetHTTPRequest
self.NetHTTPRequest1.Accept := 'text/html, application/xhtml+xml, */*';
self.NetHTTPRequest1.url := self.Edit1.Text;
self.NetHTTPRequest1.MethodString := 'POST';
self.Memo2.Text := self.NetHTTPRequest1.Post(url, ss).ContentAsString(tencoding.UTF8);
post 多个参数
TStringList *ss;
    ss = new TStringList();
    ss->Add("PatientID=aaaaaaaaa");
    ss->Add("PictuerName=BBBBBBBBBBB");
this->Caption = this->NetHTTPClient1->Post("http://127.0.0.1:8080/datasnap/rest/TServerMethods1/UpPic/", ss)->ContentAsString(TEncoding::ASCII);
    delete ss;
delphi XE8 NetHTTPRequest NetHTTPClient的更多相关文章
- 咏南C/S开发框架支持最新的DELPHI XE8开发
		
特大好消息:咏南C/S开发框架支持最新的DELPHI XE8开发!咏南开发框架让你再无开发工具升级后顾之忧! 购买咏南开发框架送项目源码!
 - Delphi xe8 FMX StringGrid根据内容自适应列宽。
		
Delphi xe8 FMX StringGrid根据内容自适应列宽. 网上的资料比较复杂,而且不是根据字体字号等设置列宽.故自己写了个function来用. function GetColMaxDa ...
 - Delphi  XE8帮助中的REST相关内容。
		
Delphi XE8的离线帮助是我见过的最好的Delphi帮助文档了,内容相当详细和丰富,几乎涵盖了Delphi的方方面面!! Delphi XE8的帮助文档在哪里?“XE8安装目录\Help\Doc ...
 - Delphi XE8 TStyleBook的使用
		
Delphi XE8来了,FMX的性能有了巨大的提升,比如:XE7下ListBox上下滑动的卡顿已经不复存在,直接用xe8编译后,再上下划动ListBox,已经变的非常流畅.另外,也见到有网友说,通过 ...
 - Delphi XE8中Delphi和JAVA数据类型对应关系!
		
Delphi XE8中Delphi和JAVA数据类型对应关系所在单元文件:Androidapi.JNI.JavaTypes 对应关系: JObject = interface;//java.lang. ...
 - Delphi XE8中Android开发有用的资源!
		
一,FireMonkey Component Library在XE8帮助(topics.chm)中的位置:FireMonkey Component Library,展示了FireMonkey控件在VC ...
 - Delphi XE8如何同Eclipse使用相同的Android SDK?
		
我的Android SDK是单独安装的:Eclipse也是最新版的,并不是谷歌提供的集成了SDK的那个Eclipse:Delphi XE8安装后,我并没有通过XE8里面下载Android SDK到XE ...
 - DELPHI XE8 远程调试
		
最近公司项目遇到问题需要远程调试搜索了一下怎么用 发现网上能找到最新的是XE2上的说明现在已经有一些不同了 按照上面的方法不能调试成功 经过测试XE8的方法如下:1.项目编译设置:2.在被调试电脑上运 ...
 - Delphi XE8中的DBExpress使用ODBC方式连接MySQL 5.6.24 X64!!!!
		
Delphi:XE2.XE8 MySQL:5.6.24 X64 今天准备做一个使用数据库的REST程序,最开始使用XE2,后来使用XE8,但是我遇到一个让我头疼的问题,就是无法连接我要使用的数据库,这 ...
 
随机推荐
- UVA-1336 Fixing the Great Wall(区间DP)
			
题目大意:长城(视作x正半轴)有n处破损.有一个智能修复机器人,它的初始位置和移动速度已知.每处破损处都有一组参数(x,c,d),x表示位置,c.d表示在时间t后再修复该处破损的花费为d*t+c.求用 ...
 - 297. Serialize and Deserialize Binary Tree *HARD*
			
Serialization is the process of converting a data structure or object into a sequence of bits so tha ...
 - 042——VUE中组件之子组件使用$on与$emit事件触发父组件实现购物车功能
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - Java Mongodbjar包下载网址
			
http://mongodb.github.io/mongo-java-driver/
 - openfalcon源码分析之graph
			
openfalcon源码分析之graph 本节内容 graph功能 graph源码分析 2.1 graph中重要的数据结构 2.2 graph的简要流程图 2.3 graph处理数据过程 2.4 gr ...
 - CS231n课程笔记翻译8:神经网络笔记 part3
			
译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 3,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,堃堃和巩子嘉进行校对修改.译文含 ...
 - CIE-LUV是什么颜色特征
			
参考文献:维基百科 a simple-to-compute transformation of the 1931 CIE XYZ color space, but which attempted pe ...
 - Tiny4412 u-boot分析(3)u-boot 引导内核流程
			
在u-boot中,通过bootm命令启动内核.bootm命令的作用是将内核加载到指定的内存地址,然后通过R0.R1.R2寄存器传递启动参数之后启动内核.在启动内核之前需要对环境做一些初始化工作,主要有 ...
 - UML drawing tools
			
1. tools based on the script http://www.websequencediagrams.com/ UMLet 12.1 My best two recommendati ...
 - bzoj 4372 烁烁的游戏——动态点分治+树状数组
			
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4372 和 bzoj 3070 震波 是一个套路.注意区间修改的话,树状数组不能表示 dis ...