深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;
public class TalkSend implements Runnable {
DatagramSocket socket = null;
BufferedReader reader = null;
private int fromPort;
private String toIP;
private int toPort;
public TalkSend(int fromPort, String toIP, int toPort) {
this.fromPort = fromPort;
this.toIP = toIP;
this.toPort = toPort;
try {
socket = new DatagramSocket(fromPort);
reader = new BufferedReader(new InputStreamReader(System.in));
} catch (SocketException e) {
e.printStackTrace();
}
}
@Override
public void run() {
while (true){
String data = null;
try {
data = reader.readLine();
byte[] datas = data.getBytes();
DatagramPacket packet = new DatagramPacket(datas,0,datas.length,new InetSocketAddress(this.toIP,this.toPort));
socket.send(packet);
if(data.equals(“bye”)){
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
socket.close();
}
}
2、接收端
package com.guor.ipidea;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class TalkReceive implements Runnable{
DatagramSocket socket = null;
private int port;
private String msgFrom;
public TalkReceive(int port, String msgFrom) {
this.port = port;
this.msgFrom = msgFrom;
try {
socket = new DatagramSocket(port);
} catch (SocketException e) {
e.printStackTrace();
}
}
@Override
public void run() {
while (true){
try {
//准备接收包裹
byte[] container = new byte[1024];
DatagramPacket packet = new DatagramPacket(container,0,container.length);
//阻塞式接收包裹
socket.receive(packet);
//断开连接bye
byte[] data = packet.getData();
String receiveData = new String(data,0,data.length);
System.out.println(msgFrom + “:” + receiveData);
if(receiveData.equals(“bye”)){
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
socket.close();
}
}
3、ipidea
package com.guor.ipidea;
public class IpIdea {
public static void main(String[] args) {
new Thread(new TalkSend(7777,“localhost”,9999)).start();
new Thread(new TalkReceive(8888,“哪吒”)).start();
}
}
4、哪吒
package com.guor.ipidea;
public class Nezha {
public static void main(String[] args) {
new Thread(new TalkSend(5555,“localhost”,8888)).start();
new Thread(new TalkReceive(9999,“ipidea”)).start();
}
}
四、投之以桃报之以李
1、哪吒送你一首《小伴龙儿歌:圣诞快乐》
马上圣诞节了,小学生想听儿歌,无奈都是收费的。哪吒灵机一动,教你用用java.net.URL下载下来就能听了。
2、获取《小伴龙儿歌:圣诞快乐》地址
3、代码实例
package com.guor.test;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class MerryTest {
public static void main(String[] args) throws IOException {
URL url = new URL(“https://vd2.bdstatic.com/mda-mm02j05avh9knriq/sc/cae_h264_nowatermark/1638341959033134772/mda-mm02j05avh9knriq.mp4?v_from_s=hkapp-haokan-hbe&auth_key=1639838362-0-0-0ae86199711f5fcbe20fba556a907433&bcevod_channel=searchbox_feed&pd=1&pt=3&abtest=3000203_5&klogid=0562178188”);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = urlConnection.getInputStream();
FileOutputStream fileOutputStream = new FileOutputStream(“圣诞快乐.mp4”);
byte[] buffer = new byte[1024];
int len;
while ((len=inputStream.read(buffer))!=-1){
fileOutputStream.write(buffer,0,len);
}
fileOutputStream.close();
inputStream.close();
urlConnection.disconnect();
}
}
4、下载到本地
5、本地播放
五、随便下载有风险吗?
1、如何解决?
因为我们在进行数据采集的时候采集的速度过快,给对方的服务器造成太大的压力,对方反向追踪,很容易找到我们,这就会导致我们的ip被封。
如果想要不在被封ip,就需要我们更换IP在进行抓取数据信息。那么该如何解决这个问题?
- 找到一个http
- 爬取ip
- 验证ip有效性
- 记录ip
2、ipidea简介
ipidea是一家海外爬虫代理商,提供海外住宅ip和海外静态ip,主要是做数据采集的业务,与多个数据采集企业保持长期的合作。它提供9000万ip资源,可以根据抓取需求自定义设置ip轮换时间,从而避免被网站阻止访问。支持账密认证和API提取两种方式提取ip资源,最重要的是支持免费测试。
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
[外链图片转存中…(img-Ag1dQI6V-1715617456444)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新