折腾:
【未解决】用Java实现百度模拟登陆
期间,Mac中已经搭建好了Java的IntelliJ IDEA的开发环境。
然后也基本上搞清楚,OkHttp是好用的Java的网络库。
那现在就是去看看如何使用。
OkHttp
看了demo代码
去下载jar

然后去看看如何导入到IntelliJ中
【已解决】IntelliJ IDEA中导入java的jar包OkHttp库文件
然后可以看到各种类:

双击去看看:




然后就下载下来了:

然后看看如何调用OkHttp去访问网络。
结果报错:
【已解决】java中调用OkHttp出错:Exception in thread “main” java.lang.NoClassDefFoundError: okio/BufferedSource
然后就解决了该问题了,不过又出现其他的:
【已解决】java中调用OkHttp出错:Exception in thread “main” java.lang.NoClassDefFoundError: kotlin/TypeCastException
然后就可以正常获取url返回的信息,包括response了:

【总结】
此处是用:
import java.io.IOException;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
public class EmulateLoginBaidu {
OkHttpClient client = new OkHttpClient();
// ResponseBody run(String url) throws IOException {
Response run(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.build();
try (Response response = client.newCall(request).execute()) {
// return response.body().string();
// return response.body();
return response;
}
}
public static void main(String[] args) throws IOException {
System.out.println("Try Emulate Login Baidu");
String baiduUrl = "http://www.baidu.com";
EmulateLoginBaidu emulateLogin = new EmulateLoginBaidu();
// ResponseBody respBody = emulateLogin.run(baiduUrl);
Response response = emulateLogin.run(baiduUrl);
System.out.println("response=" + response);
}
}其中要导入
- okio-2.1.0.jar
和:
- kotlin-stdlib.jar
- kotlin-stdlib-common.jar
然后才能正常运行,即可获取url的Response了。
转载请注明:在路上 » 【已解决】Mac的Java中使用OkHttp去进行基本的网络请求