• 技术文章 >后端开发 >php教程

    php打包amf数据,发送post

    2016-06-13 12:37:06原创431
    php封装amf数据,发送post
    模拟客户端请求,AMF请求 封包,目前只有C#版本的,我没学过C#,想把它翻译成php版本的,但是非常蛋疼啊。想问下目前网上有类似功能的类库了吗?或者已经有相同功能的代码了吗?

    class AMF_Post_Data
    {
    public List message;

    ///
    /// 初始化Message
    ///

    ///
    ///
    ///
    public AMF_Post_Data(AMFType at, int headers, int bodies)
    {
    //AMF版本
    if (at == AMFType.AMF0)
    {
    message = new List(new byte[] { 0x00, 0x00 });
    }
    else if (at == AMFType.AMF3)
    {
    message = new List(new byte[] { 0x00, 0x03 });
    }

    //header数量
    message.Add(BitConverter.GetBytes(headers)[1]);
    message.Add(BitConverter.GetBytes(headers)[0]);
    //body数量
    message.Add(BitConverter.GetBytes(bodies)[1]);
    message.Add(BitConverter.GetBytes(bodies)[0]);
    }

    ///
    /// 添加Target
    ///

    ///
    ///
    public void AddTargetAndResponse(string target, string Response)
    {
    //添加Target长度
    message.Add(BitConverter.GetBytes(target.Length)[1]);
    message.Add(BitConverter.GetBytes(target.Length)[0]);
    //添加Target内容
    message.AddRange(Encoding.Default.GetBytes(target));

    //添加Response长度
    message.Add(BitConverter.GetBytes(Response.Length)[1]);
    message.Add(BitConverter.GetBytes(Response.Length)[0]);
    //添加Response内容
    message.AddRange(Encoding.Default.GetBytes(Response));
    }

    ///
    /// 添加Body
    ///

    ///
    ///
    public void AddBody(AMF_Post_Data_Body apdb)
    {
    message.AddRange(apdb.getLength());
    message.AddRange(apdb.Content.ToArray());
    }
    }

    class AMF_Post_Data_Body
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• PHP实现LRU算法的示例代码• 怎样利用Dockerfile文件部署PHP项目• 什么是接口?如何在PHP中使用接口编写优雅的代码?• php7.2怎么连接oracle数据库?OCI8扩展的安装• php将csv文件导入到mysql数据库的方法,_PHP教程
    1/1

    PHP中文网