Unity WWW的使用

Unity WWW

Unity 的WWW 主要支持其中的GET和POST方式。
GET 方式会将请求附加在URL后,POST 方式则是通过FORM (表单)的形式提交。
GET方式最多只能传输1024个字节,POST方式理论上则没有限制。从安全角度来看POST比GET方式安全性更高,所以在实际使用中可以更多选择POST方式。

具体例子如下:

  1. 文本格式上传
IEnumerator IGetData()
{
  WWW www = new WWW(''http://127.0.0 . 1/test.php?username=get&password=12345");
  yield return www;
  if (www.error  != null)
    {
      m info = www.error;
      yield return null;
    }
  m info = www.text;
}

IEnumerator IPostData ()
{  
    //headers 是一个Hashtable ,它由键、值对应,这里我们用它来保存HTTP报头。
   System.Collections.Hashtable headers = new System.Collections.Hashtable();
   headers.Add("Content-Type", "application/x-www-form-urlencoded"); 

   string data  = "username=post&password=6789"; //和Get一样使用&连接数据
   byte[]  bs = System.Text.UTF8Encoding.UTF8.GetBytes(data); //转化为byte 数组
   WWW www = new WWW("http://127.0.0.1/test.php'', bs,  headers);
   yield return www;

   if (www.error != null)
   {
       m_info = www.error;
       yield return null;
   }

   m_info = www.text;
}
  1. 图片格式
public Texture2D m_uploadImage; 
protected Texture2D m_downloadTexture;

IEnumerator IRequestPNG()
{
    byte[] bs = m_uploadImage.EncodeToPNG();

    WWWForm form = new WWWForm();
    form.AddBinaryData("picture" , bs, "screenshot", "image/png");

    WWW www = new WWW( ''http://127.0.0.1/Test.php'', form);
    yield return www;

    if (www.error != null)
    {
       m_info = www.error;
       yield return null;    
    }    
 
   m_downloadTexture = www.texture; //返回文本信息
}

//显示下载的图片和提交的图片:
OnGUI()
{
    if (m_downloadTexture != null)
      GUI.DrawTexture(new Rect(0, 0, m_downloadTexture.width, m_downloadTexture.height), m_downloadTexture);
    
    if(GUI.Button(new Rect(10, 150, 150, 30),  "Request Image"))
    StartCoroutine(IRequestPNG());
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值