大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
文件名以.Java结尾,名称和文件名保持一致。
创新互联公司主营南郑网站建设的网络公司,主营网站建设方案,重庆App定制开发,南郑h5重庆小程序开发搭建,南郑网站营销推广欢迎南郑等地区企业咨询
检查环境变量是否设置,在cmd控制台中输入java-version看是否有输出Java版本号。
先讲Java编译为class文件:javacTest.java。
运行class文件:javaTest。
ftpClient.setControlEncoding("GBK"); 这个改成下面试试 ftpClient.setControlEncoding("UTF-8");
无论是使用java、Python爬取数据,都会出现IP被封的情况,所以就需要使用代理IP替我们操作。我一般会利用Java的HttpClient包,来加入动态代理功能,我使用的是芝麻HTTP代理,当然你也可以选择其他的代理提供商。
1、先声明一个代理类
2、声明一个HttpClient 对象,设置好超时时间
3、设置芝麻HTTP代理
4、测试当前的代理是否有用
5、得到服务器是否对我们进行屏蔽,如果返回的是SC_FORBIDDEN,代表被屏蔽的,那么我们就一个一个代理去试,也就是调用第四步的函数去判断当前的代理是否有用
Java中,使用proxy是通过设置java环境变量来实现的,也就是JVM的系统属性。
我们需要设置三个属性,proxySet proxyHost和proxyPort。
proxySet 是个boolean类型的,可以设置为true或者false,true代表使用代理服务器。
proxyHost 是代理服务器的IP地址
proxyPort 是代理服务器的端口地址。
我们有两种方法设置这种系统属性,
一种是命令行下运行Java程序的时候,通过参数付值
一种是在java源程序中设置。
第一种方法的格式如下:
java -DproxySet=true -DproxyHost=myProxyServer.come -DproxyPort=80 MyJavaApp
第二种方法,就是直接在源程序中通过系统属性来写,如下:
import java.util.Properties;
...
...
strProxy="221.15.5.67";
strPort="8080";
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",strProxy);
systemProperties.setProperty("http.proxyPort",strPort);
....
JDK1.3以上版本,只要设置了proxyHost和proxyPort就不用写proxySet了。
那么反过来,显示这些系统属性,就可以看到有没有使用代理了。
在编写代理服务器之前,首先应该明白一点,Java的代理机制,如图所示:
那么Java就处于中间这层代理服务器,代理服务器所作的事情如下:
1、接收客户端请求,进行处理,然后发送给服务端
2、接收服务端响应,进行处理,然后发送给客户端
这样,就更清晰了,Java提供了代理的API为,java.net.Proxy类。此类表示代理设置,通常为类型(http、socks)和套接字地址。Proxy 是不可变对象。
也就是说Java可以制作高级协议的代理,如 HTTP 或 FTP。也可以制作SOCKS(V4 或 V5)代理。
首先,使用到了URL类,HttpURLConnection类及其我们的代理类Proxy类。他们都位于java.net包中。
第一步:生成代理,指定端口为8888:
第二步:使用URLConnection类进行连接
第三步:打开URL,并且读取HTML源码