Unity3D - 将自定义标头添加到 WWWForm

2024-04-05

这是我运行的 C# 代码:

WWWForm formData = new WWWForm ();

//Adding
formData.headers.Add ("Authorization", "Basic " + System.Convert.ToBase64String(Encoding.UTF8.GetBytes(CONSUMER_KEY + ":" + CONSUMER_SECRET)));
formData.headers.Add ("Host", "api.twitter.com");

//Assigning
formData.headers ["Host"] = "api.twitter.com";
formData.headers ["Authorization"] = "Basic " + System.Convert.ToBase64String (Encoding.UTF8.GetBytes (CONSUMER_KEY + ":" + CONSUMER_SECRET));

Debug.Log (formData.headers ["Authorization"]);

如上所示,我尝试添加Authorization and Host字段添加到标题,然后为它们分配值以确保确定。然而Unity3D抛出一个错误formData.headers ["Authorization"]每次。

这是错误消息:

KeyNotFoundException: The given key was not present in the dictionary.
System.Collections.Generic.Dictionary`2[System.String,System.String].get_Item (System.String key) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:150)
Information+Twitter.GetToken () (at Assets/Static Libraries/Information.cs:143)
Information.Initialize () (at Assets/Static Libraries/Information.cs:18)
WorldScript.Awake () (at Assets/WorldScript.cs:16)

The WWWForm.headers https://docs.unity3d.com/ScriptReference/WWWForm-headers.html变量是只读的。当您致电Add函数,它并没有真正添加任何东西。这就是您收到该错误的原因,因为数据未添加到WWWForm.headers https://docs.unity3d.com/ScriptReference/WWWForm-headers.html.

Unity's WWW最近班级变了。要添加标题,您必须创建字典然后传递它Dictionary到第三个参数WWW构造函数。

public WWW(string url, byte[] postData, Dictionary<string, string> headers);

像这样的事情:

Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("User-Agent", "Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 55.0.2883.87 Safari / 537.36");

WWW www = new WWW("http://www.thismachine.info/", null, headers);
yield return www;
Debug.Log(www.text);

如果您有要发布的表格,您可以使用以下组合WWWForm and Dictionary要做到这一点。只需转换WWWForm阵列与WWWForm.data https://docs.unity3d.com/ScriptReference/WWWForm-data.html然后将其传递给第二个参数WWW构造函数。

Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("User-Agent", "Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 55.0.2883.87 Safari / 537.36");

WWWForm formData = new WWWForm();
formData.AddField("UserName", "Programmer");
formData.AddField("Password", "ProgrammerPass");

WWW www = new WWW("http://www.thismachine.info/", formData.data, headers);
yield return www;
Debug.Log(www.text);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity3D - 将自定义标头添加到 WWWForm 的相关文章

  • asp.net 文本框文本模式数字,仅允许数字

    我只是想知道 ASP NET 中是否有一种方法只允许文本框中的数字textmode number 当我使用这个时
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 为什么我不能用 `= delete;` 声明纯虚函数?

    Intro 纯虚函数使用通用语法声明 virtual f 0 然而 自 c 11 以来 有一种方法可以显式地传达non existence 特殊 成员函数的 Mystruct delete eg default constructor Q
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • IronPython:没有名为 json 的模块

    我安装了 IronPython 我的 python 文件如下所示 import sys print sys version import json 运行它的代码 var p Python CreateEngine var scope p C
  • 如何从网站下载 .EXE 文件?

    我正在编写一个应用程序 需要从网站下载 exe 文件 我正在使用 Visual Studio Express 2008 我正在使用以下代码 private void button1 Click object sender EventArgs
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 将构建日期放入“关于”框中

    我有一个带有 关于 框的 C WinForms 应用程序 我使用以下方法将版本号放入 关于 框中 FileVersionInfo GetVersionInfo Assembly GetExecutingAssembly Location F
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • 当前的 x86 架构是否支持非临时加载(来自“正常”内存)?

    我知道有关此主题的多个问题 但是 我没有看到任何明确的答案或任何基准测量 因此 我创建了一个处理两个整数数组的简单程序 第一个数组a非常大 64 MB 第二个数组b很小 无法放入 L1 缓存 程序迭代a并将其元素添加到相应的元素中b在模块化
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • 双精度类型二维多维数组的 pinvoke 编组作为 c# 和 c++ 之间的输入和输出

    我有以下我正在尝试解决的双物质类型的 2d 多维数组的 c 和 c pinvoke 编组 我已经查看了以下热门内容以获得我目前拥有的内容使用双精度数组进行 P Invoke 在 C 和 C 之间编组数据 https stackoverflo
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • 为 Windows azure blob 设置 access-control-allow-origin 的任何方法

    我将 json blob 存储在 azure 上 并通过 XHR 访问它 在尝试加载这些 blob 时 我收到此错误 XMLHttpRequest 无法加载http myazureaccount blob core windows net
  • Django enctype="multipart/form-data" 未设置 POST 数据

    我需要发送文件和输入文本中的一些数据 这是我正在处理的表格
  • Python json.dumps TypeError:尝试从变量转换时,“set”类型的对象不可序列化,在硬编码时工作

    我尝试从 python 中的变量创建 JSON 字符串 但我得到了奇怪的行为 当我对 pro 对象进行硬编码时 结果格式良好 rev Package ID bbbbb nBuild nnumber 154 nBuilt n s ver st
  • 如何在 XPath 中选择布尔值节点?

    我有一个 XML 文档和关联的架构 它定义了几个具有以下属性的属性 xs boolean类型 的词汇值xs boolean are true false 1 and 0 所以看来要正确选择具有特定布尔值的属性 我必须编写如下内容 attri
  • ASIHTTPRequest 在 ios8 上导致应用程序崩溃

    这里我使用 JSON 来解析数据ASIHTTPRequest相同的代码在我的较低版本的 iOS 上运行良好 iOs7及以下 但我无法在我的 iOS 8 设备上运行它 日志越来越好 但应用程序崩溃了 可能从服务器得到较晚的回复 它不应该因延迟
  • 展开R公式

    这可能看起来是一个简单的问题 但是有没有快速而可靠的方法来扩展像这样的公式 f formula y a b to y a b ab 我会尝试这个 f y a b reformulate labels terms f f 2 y a b a
  • 使用 HTTP 身份验证和 maven-jaxb2-plugin 生成 WSDL 架构

    我想使用 jaxb2 插件生成可从安全 URL 访问的 WSDL 使用用户 ID 和密码进行基本身份验证 我应该在哪里指定生成架构的凭据 如果不提供它们 我会在架构生成过程中收到一个 401 错误
  • 关于 WCF 通道的困惑

    我对代理和通道感到困惑 根据我的阅读 WCF 客户端使用代理通过一系列通道传递消息 每个通道负责特定的任务 例如一个通道对消息进行编码 另一个通道对其进行加密 当我看到下面的代码时 我的困惑开始了 When proxy MyMethod 叫
  • C++ 异常处理增加了多少占用空间

    这个问题对于嵌入式开发尤其重要 异常处理为生成的二进制输出增加了一些占用空间 另一方面 毫无例外 错误都需要以其他方式处理 这需要额外的代码 最终也会增加二进制大小 我对你的经历很感兴趣 尤其是 您的编译器为异常处理添加的平均占用空间是多少
  • php 中 mysql 的程序实现和面向对象实现有何区别? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Automapper、MapFrom 和 EF 动态代理

    我一直在尝试将域对象映射到报表视图模型 在测试中一切都很顺利 我伪造了实体框架代码并使用构建器返回完全填充的 pocco 对象 现在我实际上正在访问数据库并返回数据 我看到一些奇怪的动态代理类型错误 这是我的代码示例 public clas
  • Android 可用的 mime 类型?

    经过多次在线搜索 我找不到一个地方可以告诉我 Android 应用程序中不同类型媒体的每种现有 MIME 类型 以下是我所知道的存在且有效的 For Text text plain For Image image jpeg image bm
  • 为什么在asp.net mvc中会话超时后jquery ajax调用失败?

    当我的会话变量中有一个值时 我的ajax调用可以正常工作 但是当会话超时时 它似乎无法返回空的json结果 public JsonResult GetClients int currentPage int pageSize if Sessi
  • Java 编译器用 + 连接替换 StringBuilder

    下面是一些简单的 Java 代码 String s new StringBuilder append a append b append c toString 我使用 JRE 1 6 对其进行编译 并在反编译的类文件中观察到以下内容 Str
  • Woocommerce - 如何删除产品列表上的“添加到购物车”按钮

    我想删除产品列表页面上的 添加到购物车 按钮 我希望它出现的唯一地方是单个产品页面 谁能建议我在哪里可以找到删除它 我无法从文档中获得任何帮助 目前该按钮出现在每个列表下方 我不知道如何从 WooCommerce 执行此操作 但使用以下代码
  • 运算符优先级和三元运算符

    我在 C 中遇到了问题 include
  • 循环内的递归函数

    我一直在研究递归函数 并且开始或多或少地理解它们 当我遇到这个问题时 我正在参加一个免费的代码训练营挑战 但我不明白它 for 循环内的递归函数 function steamroller arr var newArr for var i 0
  • Python - HTML - 发送带有 CSS 样式的 HTML 表

    我正在尝试发送一封以表格为主体并带有一些 CSS 配置的电子邮件 为此 我有以下代码 import csv from tabulate import tabulate from email mime multipart import MIM
  • xampp 控制面板中禁用了 apache 和 mysql 启动按钮

    当我安装 xampp 时 它工作正常 但是一旦重新启动 关闭后 就会出现此错误 Apache Problem detected Apache not found Apache Disbling apache buttons Apache R
  • Unity3D - 将自定义标头添加到 WWWForm

    这是我运行的 C 代码 WWWForm formData new WWWForm Adding formData headers Add Authorization Basic System Convert ToBase64String E