问题标签 [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.
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 开发工具包不再冲突。
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 函数
php - Unirest 响应返回一个网站?
我正在尝试让 Unirest 使用我的 Laravel 4.0 框架。
现在我正在使用 REST 国家 v1 API,我在尝试获取所有国家/地区时遇到了这个问题:http: //i.gyazo.com/3876755ebdf9b3e71c03a0e801975053.png 如果我删除授权,它会返回一个正常的响应,说授权,但是一旦我授权并尝试获取所有国家/地区,它就会在我的本地主机页面上抛出整个 mashape 网站。
但是当我尝试通过国家代码获取时,它的工作方式与预期一样
http://i.gyazo.com/72017ce438f91cab8c9b16c50bba12d3.png
为什么第一个代码示例不起作用,而是呼应整个 Mashape 网站?
php - 在 Github 问题中使用 composer/Unirest php
我的代码在我的本地机器上运行良好,但是当我将代码推送到 github,然后下载并解压缩文件夹并将其移动到我的 htdocs 文件夹时,它显示类 Unirest 未定义。
我什至尝试重新运行 php composer.phar 更新/安装,它仍然说 Unirest 没有定义。当我推送到 Paas 时,代码运行良好,但是当我从 github 获取 .zip 时,它不会运行。
任何想法为什么会这样?
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
但这仍然不起作用。有什么建议吗?
api - Laravel Mashape/Unirest API 包和接口
你如何在 Laravel 中实现外部包的接口?比如说,我想使用 Mashape/Unirest API 来分析文本,但将来我想切换到其他 API 提供程序,并且不会对代码进行太多更改。
以及在哪里放置这些文件 interfece 和 UnirestAnalyzer?为他们制作特殊文件夹,添加到作曲家?添加命名空间?
objective-c - Objective-C UNIRest 对 GET 请求没有响应
我正在尝试使用 UNIRest API 在 iPhone 应用程序中运行此获取请求
https://api.guildwars2.com/v1/guild_details.json?guild_name=The%20Legacy
我正在运行的代码是这样的
我曾希望 for 循环会显示响应。但是,当您看到唯一的输出是,我似乎根本没有得到任何回应,
我不太了解 UNIRest API 来解决这个问题,也找不到任何好的文档。我究竟做错了什么?