问题标签 [unirest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
59448 浏览

java - java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INSTANCE 来自 Java 应用程序中的 Mashape Unirest

我有一个 Maven Java 项目,它使用Mashape Unirest将 HTTP 请求发送到其他 URL。我目前正在编写一个集成测试(使用TestNG),它使用 Unirest 发送一个正常的 HTTP 请求。当我通过 Maven(通过 Failsafe 插件)运行集成测试时,请求已成功发送。但是,当我尝试通过 Eclipse 运行集成测试时,我不断收到以下错误:

我还可以使用基本的 Java 应用程序脚本重现此错误。

我已经确保我在pom.xml文件中使用的依赖项是最新的和最好的,如下所示:

我还BasicLineFormatter.java从下载到 Eclipse 的源文件和Apache 的 Httpcore Github repo中检查了 的源代码。在 Github 存储库中,请注意该INSTANCE字段是如何为 4.3.x 分支和主干分支定义的,但在 4.2.x 等较旧的分支中却没有。但是,我确实4.3.2在我的项目中使用了版本,所以我应该为 Httpcore 使用具有最新版本的 JAR 文件BasicLineFormatter。我知道,基于我项目中的 Maven 依赖项 JAR 文件,我确实使用了这些 Apache 依赖项的最新版本,而不是指定为我项目下游依赖项的旧版本。

我检查了其他各种 SOF 和有关此问题的博客文章,例如Mashape Unirest Java : java.lang.NoClassDefFoundError这篇博客文章,但他们似乎都在谈论解决Android的 NoSuchFieldError 问题。但是,我处理的是独立的 Java 应用程序,而不是 Android 应用程序。

我无法确定如何解决此问题。有人知道我需要做什么吗?

更新

我不会展示我的测试用例,而是将这个问题的重现图示简化为一个简单的单行 Java 应用程序,因为通过 Eclipse 运行的任何 Java 应用程序或测试用例都存在该问题,而不仅仅是一个特定的测试:

通常,这应该打印 Google 主页的 HTML,但我得到的是 NoSuchFieldError 堆栈跟踪。


固定的!

问题是AWS 开发工具包(它在我的类路径中,因为我正在为 Elastic Beanstalk 开发)有一个冲突的 JAR 文件。使用 Oleg 的解决方案(感谢 BTW),我在单元测试中打印了以下输出:

我将不得不重新排列我的类路径,以便 AWS 开发工具包不再冲突。

0 投票
2 回答
2055 浏览

ios - 主线程不等待异步完成

10 我在 SOF 上关注了几篇关于使用 GCD 进行异步调用的帖子,如果远程服务器响应足够快,例如在本地测试服务器上工作和测试时,这可以正常工作。

尝试的 SOF 解决方案:

等到两个异步块被执行后再开始另一个块

iPhone - Grand Central Dispatch 主线程

现在我已经设置了一个远程服务器,它至少需要 8 秒才能返回它的 JSON 数据,并且 GCD 代码的行为就像它在更新 UI 之前没有等待异步调用完成一样,我最终得到了一个表格视图那是空的。

我能让它正常运行的唯一方法是排队

这会强制应用等待 10 秒并允许“[self runUnirestRequest:requestUrl];” 返回数据,然后我取回数据。这显然是一个 hack,并且想让我的 GCD 代码正常工作。

有没有办法让 UI 代码只在异步调用返回数据后执行?

注意:从 runUnirestRequest 返回的数据是 JSON 格式,并被反序列化并放入“salesData”的实例中。

我与 GCD 调用相关的代码如下:

runUnirestRequest 函数

0 投票
0 回答
870 浏览

php - Unirest 响应返回一个网站?

我正在尝试让 Unirest 使用我的 Laravel 4.0 框架。

现在我正在使用 REST 国家 v1 API,我在尝试获取所有国家/地区时遇到了这个问题:http: //i.gyazo.com/3876755ebdf9b3e71c03a0e801975053.png 如果我删除授权,它会返回一个正常的响应,说授权,但是一旦我授权并尝试获取所有国家/地区,它就会在我的本地主机页面上抛出整个 mashape 网站。

但是当我尝试通过国家代码获取时,它的工作方式与预期一样

http://i.gyazo.com/72017ce438f91cab8c9b16c50bba12d3.png

为什么第一个代码示例不起作用,而是呼应整个 Mashape 网站?

0 投票
0 回答
141 浏览

php - 在 Github 问题中使用 composer/Unirest php

我的代码在我的本地机器上运行良好,但是当我将代码推送到 github,然后下载并解压缩文件夹并将其移动到我的 htdocs 文件夹时,它显示类 Unirest 未定义。

我什至尝试重新运行 php composer.phar 更新/安装,它仍然说 Unirest 没有定义。当我推送到 Paas 时,代码运行良好,但是当我从 github 获取 .zip 时,它不会运行。

任何想法为什么会这样?

0 投票
1 回答
4793 浏览

c# - 使用 Unirest 和 C# 获取响应正文

关于.Net 的 Uniresthttps ://github.com/mashape/unirest-net/

这是我的代码摘录:

问题:如何获取响应正文?

0 投票
5 回答
20108 浏览

java - 如何使 Unirest(java) 忽略证书错误

我正在使用 Unirest(java 版本)发出 GET 和 POST 请求。但是在访问 SSL 加密站点时遇到问题,因为我的程序位于公司网络后面,并且网络管理员为我设置了防火墙映射。例如foobar.com映射到56.1.89.12:4444. 但是当我向地址提出请求时,我会收到以下 ssl 证书错误:

我看到Unirest有使用自定义的高级配置httpclient。所以我使用

makeClient方法MyHttpClient是:

主要思想取自Ignoring SSL certificate in Apache HttpClient 4.3

但这仍然不起作用。有什么建议吗?

0 投票
1 回答
1371 浏览

api - Laravel Mashape/Unirest API 包和接口

你如何在 Laravel 中实现外部包的接口?比如说,我想使用 Mashape/Unirest API 来分析文本,但将来我想切换到其他 API 提供程序,并且不会对代码进行太多更改。

以及在哪里放置这些文件 interfece 和 UnirestAnalyzer?为他们制作特殊文件夹,添加到作曲家?添加命名空间?

0 投票
1 回答
698 浏览

python - 在 Google App Engine 中安装 Unirest python 模块

嗨,我是 GAE 和 python 的新手。我正在尝试使用 python 在 GAE 中创建小型 Web 应用程序。我打算在应用程序中使用Unirest模块。

我按照这篇文章中的说明进行操作,但出现以下错误。

没有名为 poster.encode 的模块

如何在 GAE 中成功安装 unirest?

谢谢

0 投票
7 回答
58016 浏览

java - 如何解析来自 Unirest 调用的 JSON 结果

我正在使用Unirest 库从 Mashape API 中检索 JSON。我使用以下代码进行通话:

HttpResponse<JsonNode>这将返回我不熟悉的 JSON 格式。

从阅读有限的文档看来,我必须调用getBody()响应对象才能取回 JsonNode 对象。但是,我仍然不知道如何处理 JsonNode 对象。

开始解析这些数据的最佳方法是什么?

编辑: 如果它有助于提供示例,我要解析的 JSON 如下所示:

0 投票
1 回答
898 浏览

objective-c - Objective-C UNIRest 对 GET 请求没有响应

我正在尝试使用 UNIRest API 在 iPhone 应用程序中运行此获取请求

https://api.guildwars2.com/v1/guild_details.json?guild_name=The%20Legacy

我正在运行的代码是这样的

我曾希望 for 循环会显示响应。但是,当您看到唯一的输出是,我似乎根本没有得到任何回应,

我不太了解 UNIRest API 来解决这个问题,也找不到任何好的文档。我究竟做错了什么?