我是Android系统的初学者。我有一些java的经验,但不能解决这个问题一段时间。
下面是一些背景信息:我正在尝试制作一个移动应用程序,它从画廊或相机中选择一个图像,然后发送到我的服务器。我已经完成了选择图像,并将其转换为base64,但不知何故,我无法完成http post请求的功能。我想让这个函数返回服务器的响应,但是我失败了。
我已经用注释突出显示了函数的一部分。我不明白的部分是重写方法。正如我所说的,我是一个初学者,Android Studio让我包括了这些方法(OnResponse,OnFailure),使用这些方法我不能返回响应,因为它们是无效的;如果没有这些方法,我就有一个例外,我不知道它来自哪里。
public void postRequest(String postdata) throws IOException {
MediaType MEDIA_TYPE = MediaType.parse("application/json");
String url = "https://ptsv2.com/t/z497u-xxx/post";
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(MEDIA_TYPE, postdata);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
//THIS IS THE PART I DO NOT UNDERSTAND
client.newCall(request).enqueue(new Callback() {
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
message = response.body().string();
}
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
}
});
}
enqueue
函数在后台线程上执行网络访问。因此,结果不能立即提供给您。要接收结果,必须传入callback
的实例。当请求在另一个线程中完成时,OkHttp将调用回调实例的onresponse
函数。如果请求失败,它将调用onfailure
。
如果在调用线程和块中需要结果,直到结果可用为止,可以使用call类的execute()
方法。注意,这在Android的主线程上不起作用,因为那里不允许网络访问。
如何在JMETER中创建一个测试,该测试将: 总共提出100个请求,但是使 每4次请求站点A和 每5次请求站点B
问题内容: 如何使用 java.net.URLConnection发出一个http请求? 问题答案: 首先先声明一下:发布的代码段都是基本示例。您需要处理琐碎的和,然后自己整理。 准备中 我们首先至少需要知道URL和字符集。参数是可选的,取决于功能要求。 查询参数的格式必须为,并由串联&。通常,您还可以使用指定的字符集对查询参数进行网址编码。 该只是为方便起见。当我需要String串联运算符+两次
问题内容: 我在iBooks中阅读了Apple的The Programming Language Swift ,但无法弄清楚如何在Swift中发出HTTP请求(例如cURL)。我需要导入Obj- C类还是只需要导入默认库?还是无法基于本机Swift代码发出HTTP请求? 问题答案: 您可以使用,而且还是因为你通常在Objective- C做。请注意,对于iOS 7.0和更高版本,它是首选。 使用
我在iBooks上读过Apple的编程语言Swift,但不知道如何在Swift中发出HTTP请求(类似于cURL)。我需要导入Obj-C类还是只需要导入默认库?或者不可能基于本机Swift代码发出HTTP请求?
我在iBooks中阅读了苹果公司的编程语言Swift,但不知道如何在Swift中发出HTTP请求(类似cURL的东西)。我需要导入Obj-C类还是只需要导入默认库?还是不能基于原生Swift代码进行HTTP请求?
我试图为我的项目设置空手道框架。对于一个简单的GET请求,我得到了以下SSLHandshakeException。当我在浏览器中尝试endpoint时,我得到了正确的响应,但当我尝试运行cucumber特性文件时,我看到了以下错误。我尝试,,但看到相同的错误