- 浏览: 377052 次
- 性别:
- 来自: 四川
文章分类
- 全部博客 (247)
- 数据库以及sql (11)
- java (48)
- 爬虫学习 (20)
- java编程 (28)
- python编程以及安装和配置 (27)
- oracle数据库 (32)
- mongodb基本操作 (4)
- linux学习 (7)
- easyUI (2)
- nodeJs (8)
- python学习 (16)
- 其他 (13)
- hadoop (1)
- svn (1)
- 汉字 (1)
- windows (2)
- jsp (5)
- fiddler (1)
- ETL (1)
- teamviewer (1)
- maven (4)
- GIT (2)
- datagrip (1)
- ocr (1)
- redis (3)
- mysql (3)
- linux (1)
- 数据服务 (0)
最新评论
(不能直接JVM设置代理
System.getProperties().setProperty("http.proxyHost", ip);
System.getProperties().setProperty("http.proxyPort", "80");
设置JVM代理后 无法再次获取GetDlIp.dlip(); )
-----------------------------------------设置请求的代理IP
package com.bageer.meituan;
//9f27a0700a6b26192380a791807639bf
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import com.bageer.dao.DataInfoDao;
import com.bageer.dao.DataInfoDaoImpl;
import com.bageer.model.Shop_Info_Model;
public class GetMtLhfj {
public static DataInfoDao dao=new DataInfoDaoImpl();
public static void main(String[] args) {
int page=1;
while(true){
List list=dao.getData("select SHOP_URL ,Rownum rn from o2o_shop_info t where city='邢台市' and pt_name='美团外卖' and shop_url like '%access_source%' and is_lhfj is null", "1");
if(list.size()==0){
System.exit(0);
}
for (int i = 0; i < list.size(); i++) {
Map map=(Map)list.get(i);
String shop_url=map.get("SHOP_URL").toString();
Shop_Info_Model shopIfo=search(shop_url.split("\\?")[0].replace("restaurant", "qualification"));
if(shopIfo!=null){
if(shopIfo.getDeath()==null){
shopIfo.setShop_url(shop_url);
dao.update(shopIfo);
}else{
//死链接,为什么要单独更新死链接
//单独更新死链接可以只更新死链接的状态并不修改数据库中的数据
}
}
System.out.println(page+"==========================");
/*try {
Random rnd=new Random();
Thread.sleep((rnd.nextInt(1000)+1000));
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
}
page++;
}
}
public static Shop_Info_Model search(String url){
String ip=GetDlIp.dlip();
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
InputStream is = null;
//封装请求参数
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("access_source", "1004"));
String str = "";
try {
//转换为键值对
str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
System.out.println(str);
//创建Get请求
HttpGet httpGet = new HttpGet(url+"?"+str);
httpGet.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
httpGet.setHeader("Accept-Encoding", "gzip, deflate, sdch");
httpGet.setHeader("Accept-Language", "zh-CN,zh;q=0.8");
httpGet.setHeader("Cache-Control", "max-age=0");
httpGet.setHeader("Connection", "keep-alive");
httpGet.setHeader("Cookie", "w_uuid=jIr1mG-pCMj69WwvZxpD7LvaHf2k9xnJPzGB9aeIPDWEG-mSYOur_6UIOYG-DZfP; _lxsdk_cuid=162cc2b4462c8-0977acd7dae47d-6b1b1279-100200-162cc2b4463c8; _lxsdk=162cc2b4462c8-0977acd7dae47d-6b1b1279-100200-162cc2b4463c8; _lx_utm=utm_campaign%3Dbaidu%26utm_source%3D1522; _ga=GA1.2.1772268467.1523843811; _gid=GA1.2.1093233036.1524031032; w_cid=110108; w_cpy_cn=\"%E6%B5%B7%E6%B7%80%E5%8C%BA\"; w_cpy=haidianqu; waddrname=\"%E7%B4%AB%E9%87%91%E5%A4%A7%E5%8E%A6\"; w_geoid=wx4equc9mmtp; w_ah=\"39.972626846283674,116.31454780697823,%E7%B4%AB%E9%87%91%E5%A4%A7%E5%8E%A6\"; JSESSIONID=jn7psbnnfzlg11c9ckvs7gfzd; _ga=GA1.3.1772268467.1523843811; _gid=GA1.3.1093233036.1524031032; _gat=1; w_utmz=\"utm_campaign=baidu&utm_source=1522&utm_medium=(none)&utm_content=(none)&utm_term=(none)\"; w_visitid=90067f92-aa84-4233-8ded-4943e427773c; __mta=251558201.1523843813548.1524031660063.1524031728661.43; _lxsdk_s=162d7540a1a-567-6e4-74b%7C%7C22");
httpGet.setHeader("Host", "waimai.meituan.com");
httpGet.setHeader("Upgrade-Insecure-Requests", "1");
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");
//执行Get请求,
System.out.println(ip);
HttpHost proxy = new HttpHost(ip.split(":")[0],Integer.parseInt( ip.split(":")[1].split(",")[0]));
RequestConfig requestConfig = RequestConfig.custom()
.setProxy(proxy)
.setConnectTimeout(10000)
.setSocketTimeout(10000)
.setConnectionRequestTimeout(3000)
.build();
httpGet.setConfig(requestConfig);
response = httpClient.execute(httpGet);
//得到响应体
HttpEntity entity = response.getEntity();
if(entity != null){
is = entity.getContent();
//转换为字节输入流
BufferedReader br = new BufferedReader(new InputStreamReader(is, Consts.UTF_8));
String body = null;
StringBuilder sb=new StringBuilder();
while((body=br.readLine()) != null){
sb.append(body);
}
Document doc= Jsoup.parse(sb.toString());
Shop_Info_Model shopinfo=new Shop_Info_Model();
if(doc.text().indexOf("返回首页")>0){
shopinfo.setDeath("1");
return shopinfo;
}
String csdj = null;// 场所等级
String gldj = null;// 管理等级
String jcrq = null;// 检查日期
String dwmc = null;// 单位名称
String xkzh = null;// 许可证号
String fddbr = null;// 法定代表人
String jydz = null;// 经营地址
String ztyt = null;// 主体业态
String jyfw = null;// 经营范围
String yxq = null;// 有效期
int indexOf = sb.indexOf("营业执照");
String yyzh = null;
String xkz = null;
if (indexOf > -1) {
yyzh = "1";
} else {
yyzh = "0";
}
int indexOf2 = sb.indexOf("餐饮服务许可证");
if (indexOf2 > -1) {
xkz = "1";
} else {
indexOf2 = sb.indexOf("特许证件");
if (indexOf2 > -1) {
xkz = "1";
} else {
xkz = "0";
}
}
shopinfo.setIs_yyzz(yyzh);
shopinfo.setIs_xkz(xkz);
String text = doc.getElementsByAttributeValue("class", "new-zizhi").text();
if (text.length() > 2) {
shopinfo.setIs_lhfj("1");
if (text.indexOf("场所等级:") > -1) {
csdj = text.split("场所等级:")[1].trim().split(" ")[0].trim();
System.out.println(csdj);
shopinfo.setCsdj(csdj);
}
if (text.indexOf("管理等级:") > -1) {
gldj = text.split("管理等级:")[1].trim().split(" ")[0].trim();
System.out.println(gldj);
shopinfo.setGldj(gldj);;
}
if (text.indexOf("检查日期:") > -1) {
jcrq = text.split("检查日期:")[1].trim().split(" ")[0].trim();
System.out.println(jcrq);
shopinfo.setJcrq(jcrq);
}
if (text.indexOf("单位名称:") > -1) {
dwmc = text.split("单位名称:")[1].trim().split(" ")[0].trim();
System.out.println(dwmc);
shopinfo.setDwmc(dwmc);
}
if (text.indexOf("许可证号:") > -1) {
xkzh = text.split("许可证号:")[1].trim().split(" ")[0].trim();
System.out.println(xkzh);
shopinfo.setXkzh(xkzh);
}
if (text.indexOf("法定代表人") > -1) {
fddbr = text.split("法定代表人")[1].trim().split(" ")[0].trim();
System.out.println(fddbr);
shopinfo.setFddbr(fddbr);
}
if (text.indexOf("经营地址:") > -1) {
jydz = text.split("经营地址:")[1].trim().split(" ")[0].trim();
System.out.println(jydz);
shopinfo.setJydz(jydz);
}
if (text.indexOf("主体业态:") > -1) {
ztyt = text.split("主体业态:")[1].trim().split(" ")[0].trim();
System.out.println(ztyt);
shopinfo.setZtyt(ztyt);
}
if (text.indexOf("经营项目:") > -1) {
jyfw = text.split("经营项目:")[1].trim().split(" ")[0].trim();
System.out.println(jyfw);
shopinfo.setJyfw(jyfw);
}
if (text.indexOf("有效期:") > -1) {
yxq = text.split("有效期:")[1].trim().split(" ")[0].trim();
System.out.println(yxq);
shopinfo.setYxq(yxq);
}
} else {
System.out.println("没有量化分级"+"================"+sb.length());
System.out.println("没有量化分级"+"================"+sb.indexOf("营业执照"));
System.out.println("没有量化分级"+"================"+sb.indexOf("许可证"));
shopinfo.setIs_lhfj("0");
if(sb.length()<500){
return null;
}
}
return shopinfo;
}
} catch (Exception e) {
e.printStackTrace();
} finally{
//关闭输入流,释放资源
if(is != null){
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//消耗实体内容
if(response != null){
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//关闭相应 丢弃http连接
if(httpClient != null){
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
}
-----------------------------------获取代理IP
package com.bageer.meituan;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
public class GetDlIp {
public static String dlip(){
// 每隔几秒提取一次IP
// 请填写无忧代理IP订单号,填写之后才可以提取到IP哦
String order = "xxxx";
try {
java.net.URL url = new java.net.URL("http://api.ip.data5u.com/dynamic/get.html?order=" + order + "&ttl&random=true");
//java.net.URL url = new java.net.URL("http://103.30.41.108/Tools/proxyIP.ashx?Type=YYYYY888888885545555555556&qty=5");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setConnectTimeout(3000);
connection = (HttpURLConnection)url.openConnection();
InputStream raw = connection.getInputStream();
InputStream in = new BufferedInputStream(raw);
byte[] data = new byte[in.available()];
int bytesRead = 0;
int offset = 0;
while(offset < data.length) {
bytesRead = in.read(data, offset, data.length - offset);
if(bytesRead == -1) {
break;
}
offset += bytesRead;
}
in.close();
raw.close();
String[] res = new String(data, "UTF-8").split("\n");
System.out.println(">>>>>>>>>>>>>>当前返回IP量 " + res.length);
return res[0];
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
System.getProperties().setProperty("http.proxyHost", ip);
System.getProperties().setProperty("http.proxyPort", "80");
设置JVM代理后 无法再次获取GetDlIp.dlip(); )
-----------------------------------------设置请求的代理IP
package com.bageer.meituan;
//9f27a0700a6b26192380a791807639bf
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import com.bageer.dao.DataInfoDao;
import com.bageer.dao.DataInfoDaoImpl;
import com.bageer.model.Shop_Info_Model;
public class GetMtLhfj {
public static DataInfoDao dao=new DataInfoDaoImpl();
public static void main(String[] args) {
int page=1;
while(true){
List list=dao.getData("select SHOP_URL ,Rownum rn from o2o_shop_info t where city='邢台市' and pt_name='美团外卖' and shop_url like '%access_source%' and is_lhfj is null", "1");
if(list.size()==0){
System.exit(0);
}
for (int i = 0; i < list.size(); i++) {
Map map=(Map)list.get(i);
String shop_url=map.get("SHOP_URL").toString();
Shop_Info_Model shopIfo=search(shop_url.split("\\?")[0].replace("restaurant", "qualification"));
if(shopIfo!=null){
if(shopIfo.getDeath()==null){
shopIfo.setShop_url(shop_url);
dao.update(shopIfo);
}else{
//死链接,为什么要单独更新死链接
//单独更新死链接可以只更新死链接的状态并不修改数据库中的数据
}
}
System.out.println(page+"==========================");
/*try {
Random rnd=new Random();
Thread.sleep((rnd.nextInt(1000)+1000));
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
}
page++;
}
}
public static Shop_Info_Model search(String url){
String ip=GetDlIp.dlip();
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
InputStream is = null;
//封装请求参数
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("access_source", "1004"));
String str = "";
try {
//转换为键值对
str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
System.out.println(str);
//创建Get请求
HttpGet httpGet = new HttpGet(url+"?"+str);
httpGet.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
httpGet.setHeader("Accept-Encoding", "gzip, deflate, sdch");
httpGet.setHeader("Accept-Language", "zh-CN,zh;q=0.8");
httpGet.setHeader("Cache-Control", "max-age=0");
httpGet.setHeader("Connection", "keep-alive");
httpGet.setHeader("Cookie", "w_uuid=jIr1mG-pCMj69WwvZxpD7LvaHf2k9xnJPzGB9aeIPDWEG-mSYOur_6UIOYG-DZfP; _lxsdk_cuid=162cc2b4462c8-0977acd7dae47d-6b1b1279-100200-162cc2b4463c8; _lxsdk=162cc2b4462c8-0977acd7dae47d-6b1b1279-100200-162cc2b4463c8; _lx_utm=utm_campaign%3Dbaidu%26utm_source%3D1522; _ga=GA1.2.1772268467.1523843811; _gid=GA1.2.1093233036.1524031032; w_cid=110108; w_cpy_cn=\"%E6%B5%B7%E6%B7%80%E5%8C%BA\"; w_cpy=haidianqu; waddrname=\"%E7%B4%AB%E9%87%91%E5%A4%A7%E5%8E%A6\"; w_geoid=wx4equc9mmtp; w_ah=\"39.972626846283674,116.31454780697823,%E7%B4%AB%E9%87%91%E5%A4%A7%E5%8E%A6\"; JSESSIONID=jn7psbnnfzlg11c9ckvs7gfzd; _ga=GA1.3.1772268467.1523843811; _gid=GA1.3.1093233036.1524031032; _gat=1; w_utmz=\"utm_campaign=baidu&utm_source=1522&utm_medium=(none)&utm_content=(none)&utm_term=(none)\"; w_visitid=90067f92-aa84-4233-8ded-4943e427773c; __mta=251558201.1523843813548.1524031660063.1524031728661.43; _lxsdk_s=162d7540a1a-567-6e4-74b%7C%7C22");
httpGet.setHeader("Host", "waimai.meituan.com");
httpGet.setHeader("Upgrade-Insecure-Requests", "1");
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");
//执行Get请求,
System.out.println(ip);
HttpHost proxy = new HttpHost(ip.split(":")[0],Integer.parseInt( ip.split(":")[1].split(",")[0]));
RequestConfig requestConfig = RequestConfig.custom()
.setProxy(proxy)
.setConnectTimeout(10000)
.setSocketTimeout(10000)
.setConnectionRequestTimeout(3000)
.build();
httpGet.setConfig(requestConfig);
response = httpClient.execute(httpGet);
//得到响应体
HttpEntity entity = response.getEntity();
if(entity != null){
is = entity.getContent();
//转换为字节输入流
BufferedReader br = new BufferedReader(new InputStreamReader(is, Consts.UTF_8));
String body = null;
StringBuilder sb=new StringBuilder();
while((body=br.readLine()) != null){
sb.append(body);
}
Document doc= Jsoup.parse(sb.toString());
Shop_Info_Model shopinfo=new Shop_Info_Model();
if(doc.text().indexOf("返回首页")>0){
shopinfo.setDeath("1");
return shopinfo;
}
String csdj = null;// 场所等级
String gldj = null;// 管理等级
String jcrq = null;// 检查日期
String dwmc = null;// 单位名称
String xkzh = null;// 许可证号
String fddbr = null;// 法定代表人
String jydz = null;// 经营地址
String ztyt = null;// 主体业态
String jyfw = null;// 经营范围
String yxq = null;// 有效期
int indexOf = sb.indexOf("营业执照");
String yyzh = null;
String xkz = null;
if (indexOf > -1) {
yyzh = "1";
} else {
yyzh = "0";
}
int indexOf2 = sb.indexOf("餐饮服务许可证");
if (indexOf2 > -1) {
xkz = "1";
} else {
indexOf2 = sb.indexOf("特许证件");
if (indexOf2 > -1) {
xkz = "1";
} else {
xkz = "0";
}
}
shopinfo.setIs_yyzz(yyzh);
shopinfo.setIs_xkz(xkz);
String text = doc.getElementsByAttributeValue("class", "new-zizhi").text();
if (text.length() > 2) {
shopinfo.setIs_lhfj("1");
if (text.indexOf("场所等级:") > -1) {
csdj = text.split("场所等级:")[1].trim().split(" ")[0].trim();
System.out.println(csdj);
shopinfo.setCsdj(csdj);
}
if (text.indexOf("管理等级:") > -1) {
gldj = text.split("管理等级:")[1].trim().split(" ")[0].trim();
System.out.println(gldj);
shopinfo.setGldj(gldj);;
}
if (text.indexOf("检查日期:") > -1) {
jcrq = text.split("检查日期:")[1].trim().split(" ")[0].trim();
System.out.println(jcrq);
shopinfo.setJcrq(jcrq);
}
if (text.indexOf("单位名称:") > -1) {
dwmc = text.split("单位名称:")[1].trim().split(" ")[0].trim();
System.out.println(dwmc);
shopinfo.setDwmc(dwmc);
}
if (text.indexOf("许可证号:") > -1) {
xkzh = text.split("许可证号:")[1].trim().split(" ")[0].trim();
System.out.println(xkzh);
shopinfo.setXkzh(xkzh);
}
if (text.indexOf("法定代表人") > -1) {
fddbr = text.split("法定代表人")[1].trim().split(" ")[0].trim();
System.out.println(fddbr);
shopinfo.setFddbr(fddbr);
}
if (text.indexOf("经营地址:") > -1) {
jydz = text.split("经营地址:")[1].trim().split(" ")[0].trim();
System.out.println(jydz);
shopinfo.setJydz(jydz);
}
if (text.indexOf("主体业态:") > -1) {
ztyt = text.split("主体业态:")[1].trim().split(" ")[0].trim();
System.out.println(ztyt);
shopinfo.setZtyt(ztyt);
}
if (text.indexOf("经营项目:") > -1) {
jyfw = text.split("经营项目:")[1].trim().split(" ")[0].trim();
System.out.println(jyfw);
shopinfo.setJyfw(jyfw);
}
if (text.indexOf("有效期:") > -1) {
yxq = text.split("有效期:")[1].trim().split(" ")[0].trim();
System.out.println(yxq);
shopinfo.setYxq(yxq);
}
} else {
System.out.println("没有量化分级"+"================"+sb.length());
System.out.println("没有量化分级"+"================"+sb.indexOf("营业执照"));
System.out.println("没有量化分级"+"================"+sb.indexOf("许可证"));
shopinfo.setIs_lhfj("0");
if(sb.length()<500){
return null;
}
}
return shopinfo;
}
} catch (Exception e) {
e.printStackTrace();
} finally{
//关闭输入流,释放资源
if(is != null){
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//消耗实体内容
if(response != null){
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//关闭相应 丢弃http连接
if(httpClient != null){
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
}
-----------------------------------获取代理IP
package com.bageer.meituan;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
public class GetDlIp {
public static String dlip(){
// 每隔几秒提取一次IP
// 请填写无忧代理IP订单号,填写之后才可以提取到IP哦
String order = "xxxx";
try {
java.net.URL url = new java.net.URL("http://api.ip.data5u.com/dynamic/get.html?order=" + order + "&ttl&random=true");
//java.net.URL url = new java.net.URL("http://103.30.41.108/Tools/proxyIP.ashx?Type=YYYYY888888885545555555556&qty=5");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setConnectTimeout(3000);
connection = (HttpURLConnection)url.openConnection();
InputStream raw = connection.getInputStream();
InputStream in = new BufferedInputStream(raw);
byte[] data = new byte[in.available()];
int bytesRead = 0;
int offset = 0;
while(offset < data.length) {
bytesRead = in.read(data, offset, data.length - offset);
if(bytesRead == -1) {
break;
}
offset += bytesRead;
}
in.close();
raw.close();
String[] res = new String(data, "UTF-8").split("\n");
System.out.println(">>>>>>>>>>>>>>当前返回IP量 " + res.length);
return res[0];
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
发表评论
-
是什么java多态
2018-11-14 13:43 722Java多态 例1.1+1=2 例2."1&quo ... -
经纬度转换
2018-09-25 13:57 0package com.teamdev.jxbrowser.c ... -
java连接池技术
2018-09-04 14:26 401转:https://www.cnblogs.com/xdp-g ... -
java 提取url字符串中的域名
2018-08-30 15:24 7408package com.teamdev.jxbrowser.c ... -
java多线程中锁(lock)、wait、notify()的使用
2018-07-13 11:31 5769package com.kai.多线程间的通信; impor ... -
java多线程间的通信实例
2018-07-13 11:00 1444----线程间的通信 public class ListAd ... -
volatile关键字
2018-07-12 11:20 664volatile:使变量在多个线程间可见 public c ... -
java根据百度url获取真正的网页地址
2018-07-09 11:26 1114/** * 根据百度url,获取原本url * @th ... -
java中的base64字符流与图片的相互转换
2018-06-29 13:27 1288//base64字符串转化成图片 public sta ... -
java去除图片水印的解决办法
2018-06-28 10:54 3381原文地址:http://www.oicqzone.com/pc ... -
java中的中文字符转URLEncode
2018-06-26 11:26 815String urlTypeName =java.net.UR ... -
java下载图片到本地实例
2018-06-25 15:34 1373public static void main(String[ ... -
Myeclipse中如何更改jsp默认的打开方式
2018-05-04 17:44 6751.打开myeclipse 2.点击上方的 window-&g ... -
java三大范式
2018-05-02 09:50 777参考地址:https://www.cnblogs.com/ja ... -
java获取当前时间的时间戳
2018-04-08 09:25 1520package com.teamdev.jxbrowser.c ... -
java四种线程池实例 (kaigege)
2018-03-28 11:03 735Java通过Executors提供四种线程池: 1.newCa ... -
java获取IP地址(windos,linux)皆可
2018-03-28 09:44 830package com.teamdev.jxbrowser.c ... -
post 请求
2018-02-05 16:32 546public static void trustEveryo ... -
java robot控制鼠标和键盘(笔记本中打印 i love you)(滑动)
2018-01-25 16:57 2122package robot_java; import jav ... -
java ascii转中文(ascii转utf-8)清测好用
2018-01-24 17:41 3055package com.teamdev.jxbrowser.c ...
相关推荐
描述中提到“修改注册表来设置代理IP”,这是另一种常见的方法。Windows系统中的网络代理设置往往会在注册表中有所体现。例如,代理设置通常存储在`HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\...
2、针对NSURLSessionConfiguration设置代理IP和端口,让一些特殊的请求走自定义的隧道IP和端口 ———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权...
C#:webbrowser控件设置代理IP访问网站
2.2、针对NSURLSessionConfiguration设置代理IP和端口,让一些特殊的请求走自定义的隧道IP和端口 2.3、对网络请求的数据进行报文级别的加密:使用NSURLProtocol来自动监听HTTP请求并加密解密。 通过[NSURLProtocol ...
其一:用于请求代理IP,并立即校验是否是一个有效的代理IP,如果有效,保存到相应的文件中。。。 其二:对已下载到本地的代理IP进行再筛选,对失效的代理IP进行处理,对任然有效的ip进行保存 结语:如果对你有帮助,...
X-Forwarded-For 是一个 HTTP 扩展头部,用来表示HTTP请求端真实 IP,HTTP/1.1 协议并没有对它的定义,但现如今X-Forwarded-For已被各大 HTTP 代理、负载均衡等转发服务广泛使用。 X-Forwarded-For 请求头格式: X-...
Playwright官方加代理的方式只有两种,一种是浏览器全局代理,一种是context会话代理。...本demo就是为context中的某个request请求单独设置代理的实例,下载后填入自己的代理ip即可直接运行,查看效果。
学习易语言代理IP设置源码,不仅可以提升对网络编程的理解,还能掌握如何在易语言中处理网络请求。此外,熟悉源码也有助于自定义网络行为,如动态更换代理IP、实现多线程并发请求等。 在实际应用中,我们可以结合...
使用VC可以编写C++程序来创建HTTP请求,并通过库函数或自定义封装的HTTP类来设置代理和伪造IP。 - VC中的`Winsock`库可以用来处理网络通信,包括TCP/IP协议栈的使用。 - `GetLastError()`函数是Windows API的一...
【易风代理IP工具】是一款专门用于获取和设置代理IP的实用软件,它能够帮助用户在全国范围内找到大量的IP地址,并且支持在Internet Explorer(IE)浏览器中设置这些代理,以实现网络访问的匿名性和多样化。...
为避免被目标网站检测到,可能需要使用到随机User-Agent、设置延迟请求、使用代理IP自身进行爬取(即IP代理的自我应用)等策略。 最后,压缩包文件"全自动提取IP代理"可能包含以下内容:完整的自动化脚本代码,用于...
在易语言中实现代理IP设置,通常涉及到以下几个关键知识点: 1. **网络通信模块**:易语言提供了丰富的网络通信函数,如“建立网络连接”、“发送数据”和“接收数据”等,用于实现与远程服务器的交互。在代理IP...
"代理IP自动抓取器"是一款高效便捷的软件工具,它专门设计用于自动收集可用的代理IP地址,以满足用户对匿名浏览或大量网络请求的需求。下面我们将详细探讨这款软件的功能及其相关知识点。 首先,"自动抓取代理IP"是...
在IT行业中,代理IP(代理Internet Protocol)是一种网络通信技术,它允许设备通过另一台服务器(代理服务器)来访问互联网,从而隐藏真实的IP地址。这种技术有多种用途,包括提高网络安全、匿名浏览、数据抓取以及...
代理IP的工作原理是,当用户的设备请求访问某个网站时,请求会首先发送到代理服务器,由代理服务器代替用户向目标网站发起请求,并将返回的结果转发给用户。这样,目标网站看到的IP地址是代理服务器的,而不是用户的...
5. **使用代理**:在Java的HTTP请求中,可以设置Proxy对象,将代理IP和端口作为参数,使请求通过代理服务器转发,从而达到突破IP限制的目的。 在实际项目中,可能还需要考虑其他因素,如验证码识别、登录验证、请求...
本地切换IP代理上网则指在个人计算机上设置和使用代理服务器,以便通过代理IP进行网络浏览。这可以通过以下几种方式进行: 1. **系统级代理设置**:在Windows系统中,可以在“网络和共享中心”里设置代理服务器,...
在本软件中,IP代理专家能够帮助用户查找并配置有效的代理IP,优化网络连接。 3. **开始查询**:这是软件中的一个重要功能,它启动IP代理的查询过程。通过网络请求,软件会搜索可用的代理服务器,并返回给用户。这...
代理IP服务端与客户端是网络通信中常见的技术应用,尤其在数据抓取、网络测试、匿名浏览等场景中扮演着重要角色。在这个“代理IP服务端—客户端.rar”压缩包中,包含了服务端和客户端两个关键组成部分,它们共同构建...
根据提供的文件信息,本文将详细解析如何在C#中设置IE代理并利用代理访问网页的相关知识点。 ### C# 设置IE代理 #### 注册表键的打开与修改 首先,我们看到代码片段中通过调用 `Microsoft.Win32.Registry.Current...