- 浏览: 375198 次
- 性别:
- 来自: 四川
文章分类
- 全部博客 (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)
最新评论
百度搜索后显示的结果中url是临时的,我们想要的是点进去的浏览器地址栏的那个网址
如:
https://www.baidu.com/link?url=a2VZ4Xp9ukhitVl8mvA9gjMEQXz02cI51SVwYmtbFaLv61OTHeSzmrk0CkX-UN6tqAvrvpGTppbygbyuRyXf0Y__Jy404M0S4-aJ1b_DSDS&wd=&eqid=8761145d00014ab10000000359549e56
转换为
http://muzhi.baidu.com/question/1366450327137412899.html
需要的jar包:
commons-codec-1.6.jar
commons-httpclient-3.1.jar
commons-logging.jar
--------------------------------------代码
package httpclient;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
public class HttpClient_Get_Url {
/**
* 根据百度url,获取原本url
* @throws IOException
* @throws HttpException
* */
public static String GetTrueUrlByBaiduUrl(String baidu_url) throws HttpException, IOException{
//---------------------------1
HttpClient client = new HttpClient();
//设置代理IP
//client.getHostConfiguration().setProxy("172.22.40.20", 8080);
GetMethod getMethod = new GetMethod(baidu_url);
//获取状态码
int stateCode =client.executeMethod(getMethod);
String text=getMethod.getResponseBodyAsString();
//释放
getMethod.releaseConnection();
if (stateCode == HttpStatus.SC_OK) {
text=text.split("URL='")[1].split("'")[0];
//System.out.println("访问成功,网址:"+text);
return text;
}
return null;
}
public static void main(String[] args) throws HttpException, IOException {
String url="https://www.baidu.com/link?url=a2VZ4Xp9ukhitVl8mvA9gjMEQXz02cI51SVwYmtbFaLv61OTHeSzmrk0CkX-UN6tqAvrvpGTppbygbyuRyXf0Y__Jy404M0S4-aJ1b_DSDS&wd=&eqid=8761145d00014ab10000000359549e56";
System.out.println(GetTrueUrlByBaiduUrl(url));;
}
}
如:
https://www.baidu.com/link?url=a2VZ4Xp9ukhitVl8mvA9gjMEQXz02cI51SVwYmtbFaLv61OTHeSzmrk0CkX-UN6tqAvrvpGTppbygbyuRyXf0Y__Jy404M0S4-aJ1b_DSDS&wd=&eqid=8761145d00014ab10000000359549e56
转换为
http://muzhi.baidu.com/question/1366450327137412899.html
需要的jar包:
commons-codec-1.6.jar
commons-httpclient-3.1.jar
commons-logging.jar
--------------------------------------代码
package httpclient;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
public class HttpClient_Get_Url {
/**
* 根据百度url,获取原本url
* @throws IOException
* @throws HttpException
* */
public static String GetTrueUrlByBaiduUrl(String baidu_url) throws HttpException, IOException{
//---------------------------1
HttpClient client = new HttpClient();
//设置代理IP
//client.getHostConfiguration().setProxy("172.22.40.20", 8080);
GetMethod getMethod = new GetMethod(baidu_url);
//获取状态码
int stateCode =client.executeMethod(getMethod);
String text=getMethod.getResponseBodyAsString();
//释放
getMethod.releaseConnection();
if (stateCode == HttpStatus.SC_OK) {
text=text.split("URL='")[1].split("'")[0];
//System.out.println("访问成功,网址:"+text);
return text;
}
return null;
}
public static void main(String[] args) throws HttpException, IOException {
String url="https://www.baidu.com/link?url=a2VZ4Xp9ukhitVl8mvA9gjMEQXz02cI51SVwYmtbFaLv61OTHeSzmrk0CkX-UN6tqAvrvpGTppbygbyuRyXf0Y__Jy404M0S4-aJ1b_DSDS&wd=&eqid=8761145d00014ab10000000359549e56";
System.out.println(GetTrueUrlByBaiduUrl(url));;
}
}
发表评论
-
是什么java多态
2018-11-14 13:43 695Java多态 例1.1+1=2 例2."1&quo ... -
经纬度转换
2018-09-25 13:57 0package com.teamdev.jxbrowser.c ... -
java连接池技术
2018-09-04 14:26 383转:https://www.cnblogs.com/xdp-g ... -
java 提取url字符串中的域名
2018-08-30 15:24 7384package com.teamdev.jxbrowser.c ... -
java多线程中锁(lock)、wait、notify()的使用
2018-07-13 11:31 5746package com.kai.多线程间的通信; impor ... -
java多线程间的通信实例
2018-07-13 11:00 1427----线程间的通信 public class ListAd ... -
volatile关键字
2018-07-12 11:20 649volatile:使变量在多个线程间可见 public c ... -
java根据百度url获取真正的网页地址
2018-07-09 11:26 1077/** * 根据百度url,获取原本url * @th ... -
java中的base64字符流与图片的相互转换
2018-06-29 13:27 1269//base64字符串转化成图片 public sta ... -
java去除图片水印的解决办法
2018-06-28 10:54 3353原文地址:http://www.oicqzone.com/pc ... -
java中的中文字符转URLEncode
2018-06-26 11:26 800String urlTypeName =java.net.UR ... -
java下载图片到本地实例
2018-06-25 15:34 1357public static void main(String[ ... -
Myeclipse中如何更改jsp默认的打开方式
2018-05-04 17:44 6581.打开myeclipse 2.点击上方的 window-&g ... -
java三大范式
2018-05-02 09:50 760参考地址:https://www.cnblogs.com/ja ... -
请求中设置代理IP
2018-04-18 16:24 973(不能直接JVM设置代理 System.getProperti ... -
java获取当前时间的时间戳
2018-04-08 09:25 1506package com.teamdev.jxbrowser.c ... -
java四种线程池实例 (kaigege)
2018-03-28 11:03 717Java通过Executors提供四种线程池: 1.newCa ... -
java获取IP地址(windos,linux)皆可
2018-03-28 09:44 811package com.teamdev.jxbrowser.c ... -
post 请求
2018-02-05 16:32 531public static void trustEveryo ... -
java robot控制鼠标和键盘(笔记本中打印 i love you)(滑动)
2018-01-25 16:57 2102package robot_java; import jav ...
相关推荐
综上所述,通过Java的HttpClient库,可以在Eclipse环境中编写程序,实现从指定URL下载文件到本地的功能。通过理解HttpClient的工作原理和提供的API,开发者可以构建出稳定、高效的文件下载解决方案。
本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...
httpclient常用封装工具 doGet(String url, Map, String> param) doPost(String url, Map, String> param) doPostJson(String url, String json)
标题中的“httpclient 获取技术博客列表”指的是使用Apache HttpClient库来获取网络上的技术博客列表。HttpClient是一个Java库,它提供了一种丰富的API来执行HTTP请求,包括GET、POST等方法,用于从网页抓取数据。在...
在Java中,创建一个`HttpClient`实例是获取网络资源的第一步。`HttpClient`提供了多种方法来创建请求,如`HttpGet`、`HttpPost`等,分别对应HTTP的GET和POST请求。以下是一个简单的`HttpGet`请求示例: ```java ...
android HttpClient 获取网络图片 实例
通过httpclient post去获取,response返回码是302,返回的code放在header的Location中。 请求的时候client_id,response_type,redirect_uri,state拼接在url后面,account和password放在body表单(x-...
HttpClient是Apache HTTP Components项目的一部分,它是一个强大的Java库,用于执行HTTP请求。在这个场景中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用的新手机号码信息,并将这些数据存储到本地...
在Java编程环境中,实现从百度网盘获取共享文件的真实下载地址并进行下载涉及多个关键知识点。首先,我们需要了解百度网盘的API接口以及如何通过网络请求来模拟用户行为。以下是一份详细的步骤和相关技术介绍: 1. ...
在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...
这就是使用Java HttpClient调用百度地图API的基本步骤。在实际开发中,你可能还需要处理错误、重试机制、日志记录等。注意,为了保证服务的稳定性和安全性,务必遵守百度地图API的使用政策,合理控制请求频率,并对...
在Java项目中,使用HttpClient可以实现与Web服务器的高效通信。下面将详细介绍这12个jar包的作用及其在HttpClient中的功能: 1. `commons-beanutils-1.8.0.jar`: Apache Commons BeanUtils库提供了对Java Beans属性...
下面我们将详细探讨如何在Java中使用HttpClient来实现这一目标。 首先,我们需要导入必要的Apache HttpClient库,通常包含以下依赖: ```xml <groupId>org.apache.httpcomponents <artifactId>httpclient ...
4. **执行请求**:使用HttpClient实例执行请求,并获取HttpResponse对象: ```java HttpResponse response = httpClient.execute(httpGet); ``` 5. **处理响应**:从HttpResponse对象中读取响应状态码和数据。...
至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...
对于对接百度搜索接口,我们可以使用Java的HttpURLConnection类或者Apache HttpClient库来发送HTTP请求,获取并解析返回的JSON数据。 以下是一个简单的Java代码示例,演示如何使用HttpURLConnection对接百度搜索...
接着,我们通过HttpClient的execute方法发送请求并获取响应。这个例子展示了HttpClient库的基本用法,实际应用中可能需要处理更复杂的场景,如设置请求头、处理响应内容、处理异常等。 总的来说,Apache HttpClient...
### JAVA调用HTTP及httpclient的详细说明 #### 一、引言 在现代软件开发中,客户端和服务端之间的通信通常通过HTTP协议实现。而在Java编程语言中,开发者可以选择多种方式来实现HTTP请求的发送与接收,其中`...
java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_...