欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php打包amf数据,发送post

程序员文章站 2022-06-03 21:31:09
...
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
php打包amf数据,发送post

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

相关文章

相关视频