PHP Context学习系列《十》

Context用于所有的文件系统或数据流封装协议。

1、套接字context

主要是tcp,http,ftp这些基于socket的协议。

新加的bindto参数实例:

<?php

$opt = array(
    ‘socket‘ => array(
        ‘bindto‘ = > ‘192.168.1.1:8000‘,
        ),
    );

$context = stream_context_create($opt);

echo file_get_contexts(‘www.examples.con‘, false, $context);
?>

2:http context

args:

method (string) 远程服务器支持的请求方式 如get post。

header (string)会覆盖后面定义的user-agent等。

user_agent (string)

max_redirects (integer) 默认最多的重定向有20次,设置成1次或0次不跟随重定向。

context (string)在header后面要发送的额外数据,通常使用post或者put

protocol_version (float) 默认竟然是1.0. 咱们把他设置为1.1 然后可以支持 分块传输解码 (chunked transfer encoding). 以后好好看这个分块传输解码

一个post请求实例:

<?php

$postdata = http_build_query(
    array(
        ‘var1‘ => ‘post1‘,
        ‘var2 => ‘post2‘
    )
);

$opts = array(‘http‘=>
    array(
        ‘method‘ =>‘post‘,
        ‘header‘ =>‘Context-type:application/x-www-form-urlencoded‘,
        ‘content‘ => $postdata

    )
);

$content = stream_context_create($opts);

file_get_contents(‘www.examples.com/submit.php‘, false,$content);
时间: 2024-10-05 21:56:51

PHP Context学习系列《十》的相关文章

Castle学习系列(十)---Windsor框架类注册

上篇已经学习了Windsor的快速入门,框架的配置只需要两步,本篇学习下这个两步配置针对特定场景的自定义的配置,我只学习了代码的配置,对于XML的配置可以参考官方文档http://docs.castleproject.org/Windsor.XML-Registration-Reference.ashx.   安装的配置 安装的配置比较简单,无非是寻找安装类,并执行安装并获取容器,所有的安装类都需要继承自IWindsorInstaller,此接口规定了方法如下: void Install(IWi

Quartz.NET学习系列(十二)--- Quartz.NET集群

Quartz.NET提供了集群的配置,这个集群并不能达到负载均衡的效果,而仅仅提供了故障转移的功能,主要场景是:两个节点的Quartz.NET任务服务器同时连接到另一个节点的数据库服务器,当一个任务服务器宕机时,另一个任务服务器会启动. 集群的主要配置如下: properties["quartz.jobStore.clustered"] = "true"; 总的代码如下: [PersistJobDataAfterExecution] [DisallowConcurr

MVC3+EF4.1学习系列(十)----MVC+EF处理树形结构

通过前几篇文章 我们处理了 一对一, 一对多,多对多关系 很好的发挥了ORM框架的做用 但是 少说了一种 树形结构的处理, 而这种树形关系 我们也经常遇到,常见的N级类别的处理, 以及经常有数据与类别挂钩.今天主要写下EF处理树形结构以及 MVC如何展示树形结构. 前面几篇的例子 一直用的是一个例子,内容是连贯的.这篇是完全单独的~ 先来说下工作中会遇到的常见场景 针对这几个场景来处理~ 1.类别 a.类别可以有无限级别 b.类别的最末端 不确定是第几级 某个节点 可以到二级 其他的节点 有可能

目标跟踪学习系列十:Struck:Structured Output Tracking with Kernels 代码调试

本来想看完代码再详细的写的.但是有人问了就先贴出来吧!代码调试中会遇到的一些的问题. 首先,你没有代码的话可以在这里下载:http://download.csdn.net/detail/u012192662/8042147 然后需要安装opencv(我想如果你是做这个应该有的):Eigen;http://download.csdn.net/detail/u012192662/8042155 作者的代码使用的是 OpenCV v2.1 and Eigen v2.0.15.opencv还没有问题,高

Quartz.NET学习系列

Quartz.NET是一个开源的任务调度引擎,对于周期性的任务,持续性的任务提供了很好的支持,并支持持久化,集群等功能.一下是我这个对于Quartz.NET的学习记录: 源码下载地址http://yunpan.cn/cZcHVh7W3SB3X  访问密码d45a 由于博客编辑器的问题,部分代码可能显示不完全,可点击 这个按钮来获取完整的源码 Quartz.NET学习系列(一)--- 快速入门 Quartz.NET学习系列(二)--- 简单触发器 Quartz.NET学习系列(三)--- Cron

Dubbo学习系列之十二(Quartz任务调度)

Quartz词义为"石英"水晶,然后聪明的人类利用它发明了石英手表,因石英晶体在受到电流影响时,它会产生规律的振动,于是,这种时间上的规律,也被应用到了软件界,来命名了一款任务调度框架--Quartz.现实软件逻辑中,周期任务有着广泛的存在,如定时刷新配置信息,定期盘点库存,定时收发邮件等,至于定时任务处理,也有Spring的ScheduledThreadPool,还有基于注解@Scheduled的方式,ScheduledThreadPool主要是基于相对时间,不方便控制,而@Sche

quick-cocos2d-x 学习系列之十四 测试用例

quick-cocos2d-x 学习系列之十四 测试用例 定义变量,创建13个场景名字 local items = { "framework.helper", "framework.native", "framework.display", "framework.crypto", "framework.network", "framework.luabinding", "fra

quick-cocos2d-x 学习系列之十五 状态机

quick-cocos2d-x 学习系列之十五 状态机 1.  代码 -- create Finite StateMachine self.fsm_ = {} cc.GameObject.extend(self.fsm_) :addComponent("components.behavior.StateMachine") :exportMethods() self.fsm_:setupState({ events = { {name = "start", from

quick-cocos2d-x 学习系列之十六 塔防完结

quick-cocos2d-x 学习系列之十六 塔防完结 1.  math2d.lua文件 该文件实现了常用的数学函数. Dist函数实现两点的距离. radians4point求两点的夹角(弧度) pointAtCircle求圆上一个点的位置 pointAtLineToPoint求线段上与指定点距离最近的点 degrees2radians角度转换为弧度 radians2degrees弧度转换为角度 2.  utils.lua文件 2.1         drawCircle 返回newCirc