`
wuzijingaip
  • 浏览: 329662 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Jsoup get post

    博客分类:
  • java
 
阅读更多

package com.test;

import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;

import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class JsoupUtil {
	
	/**
	 * 发送get请求获取返回body
	 * @param url  请求地址
	 * @param cookie  请求cookie
	 * @return
	 * @throws IOException
	 */
	public static String httpGet(String url,String cookie) throws IOException{
		//获取请求连接
		Connection con = Jsoup.connect(url);
		//请求头设置,特别是cookie设置
		con.header("Accept", "text/html, application/xhtml+xml, */*"); 
		con.header("Content-Type", "application/x-www-form-urlencoded");
		con.header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0))"); 
		con.header("Cookie", cookie);
		//解析请求结果
		Document doc=con.get(); 
		//获取标题
		//System.out.println(doc.title());
		return doc.toString(); 
		
	}
	
	/**
	 * 发送get请求获取返回headers具体值
	 * @param url  请求地址
	 * @param cookie  请求cookie
	 * @return
	 * @throws IOException
	 */
	public static String httpGetHeader(String url,String cook,String header) throws IOException{
		//获取请求连接
		Connection con = Jsoup.connect(url);
		//请求头设置,特别是cookie设置
		con.header("Accept", "text/html, application/xhtml+xml, */*"); 
		con.header("Content-Type", "application/x-www-form-urlencoded");
		con.header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0))"); 
		con.header("Cookie", cook);
		//发送请求
		Response resp=con.method(Method.GET).execute();		
		//获取cookie名称为__bsi的值
		String cookieValue = resp.cookie(header);
//		System.out.println("cookie  __bsi值:  "+cookieValue);
//		//获取返回cookie所值
//		Map<String,String> cookies = resp.cookies();
//		System.out.println("所有cookie值:  "+cookies);
//		//获取返回头文件值
//		String headerValue = resp.header(header);
//		System.out.println("头文件"+header+"的值:"+headerValue);
//		//获取所有头文件值
//		Map<String,String> headersOne =resp.headers();
//		System.out.println("所有头文件值:"+headersOne);
		return cookieValue; 
		
	}
	
	/**
	 * 发送post请求获取返回body
	 * @param url  请求地址
	 * @param map  请求参数
	 * @param cookie  请求cookie
	 * @return
	 * @throws IOException
	 */
	public static String httpPost(String url,Map<String,String> map,String cookie) throws IOException{
		//获取请求连接
		Connection con = Jsoup.connect(url);
		//遍历生成参数
		if(map!=null){
			for (Entry<String, String> entry : map.entrySet()) { 	
	           //添加参数
				con.data(entry.getKey(), entry.getValue());
	           } 
		}
		//插入cookie(头文件形式)
		con.header("Accept", "text/html, application/xhtml+xml, */*"); 
		con.header("Content-Type", "application/x-www-form-urlencoded");
		con.header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0))"); 
		con.header("Cookie", cookie);
		Document doc = con.post();  
		return doc.toString();
	}
	
	
	
	/**
	 * 发送post请求获取返回头文件获这cookie
	 * @param url  请求地址
	 * @param map  请求参数
	 * @param cookie  请求cookie
	 * @param header  返回获取cookie或者头文件
	 * @return
	 * @throws IOException
	 */
	public static String httpPost(String url,Map<String,String> map,String cookie,String header) throws IOException{
		//获取请求连接
		Connection con = Jsoup.connect(url);
		//遍历生成参数
		if(map!=null){
			for (Entry<String, String> entry : map.entrySet()) { 	
	           //添加参数
				con.data(entry.getKey(), entry.getValue());
	           } 
		}
		con.header("Accept", "text/html, application/xhtml+xml, */*"); 
		con.header("Content-Type", "application/x-www-form-urlencoded");
		con.header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0))"); 
		//插入cookie(头文件形式)
		con.header("Cookie", cookie);		
		//发送请求
		Response resp=con.method(Method.POST).execute();		
		//获取cookie名称为__bsi的值
		String cookieValue = resp.cookie(header);
		System.out.println(cookieValue);
		return cookieValue;
	}
	
	

}

分享到:
评论

相关推荐

    JsoupAPI(jsoup帮助文档)

    `Jsoup.connect()`方法创建一个`Connection`,可用于设置HTTP请求头、请求方法(GET, POST等)以及执行请求。返回的响应可以通过`execute()`获取,然后解析HTML。 ### 7. 安全性与性能 Jsoup遵循最新的HTML标准,...

    Jsoup

    8. 连接和下载:Jsoup还可以用来发送HTTP请求,获取网页内容,支持GET和POST方法,设置cookies和headers,处理重定向等。 9. 错误处理:当遇到无法解析的HTML时,Jsoup会尝试恢复而不是抛出异常,这使得处理非标准...

    jsoup-annotations是Jsoup注解的POJO

    Document doc = Jsoup.connect("http://example.com/blog-post").get(); BlogPost post = Parser.parse(doc, BlogPost.class); ``` 4. **处理结果**:最后,可以直接访问解析后的`BlogPost`对象的字段,获取到所需的...

    httpClient采集jsoup解析

    HttpClient是一个标准的Java库,它允许开发者执行HTTP请求并获取响应,支持各种HTTP协议特性,如GET、POST、PUT等。使用HttpClient,你可以创建一个HTTP连接管理器,设置请求头,添加请求参数,并处理响应内容。例如...

    jsoup1.10.3包和jsoupApi帮助文档

    - **Connection**:用于设置HTTP请求参数,如GET、POST请求,设置Header,处理Cookie等。 - **Document**:代表一个完整的HTML文档,可以从中获取元素、解析链接、执行CSS选择器等。 - **Element**:表示HTML中的...

    jsoup相关jar包

    - **HTTP请求**:JSoup可以发起GET和POST请求,加载远程网页。 **使用JSoup的场景** - **网页抓取**:JSoup常用于构建简单的网页爬虫,获取网站上的结构化数据,如新闻标题、产品信息等。 - **数据提取与转换**:...

    jsoup-1.8.3.zip

    - **网络请求**:内置了简单的HTTP客户端,可以方便地发起GET和POST请求,获取网页内容。 JSoup常用于Web抓取、数据分析、爬虫开发、自动化测试等领域,它的易用性和灵活性使得它成为Java开发者处理HTML时的首选...

    Jsoup.jar 包及说明文档

    2. **连接与解析**:使用Jsoup的`connect()`方法建立HTTP连接,然后调用`get()`或`post()`方法获取HTML内容,接着用`parse()`方法解析HTML: ```java Document doc = Jsoup.connect("http://example.com").get(); ...

    jsoup-jar包

    JSoup不仅可以读取和解析HTML,还可以将修改后的`Document`对象重新编码回HTML字符串,或者通过`Jsoup.connect().post()`方法提交表单数据。这对于自动化填写和提交表单非常有用。 **6. 安全性与兼容性** JSoup...

    jsoup操作手册 API

    2. **从URL加载**:通过`Jsoup.connect()`方法,可加载远程HTML文档,支持GET和POST请求,且可设置请求头、超时时间等参数。 3. **从文件读取**:通过读取本地文件生成`Document`对象,同时可指定编码和基础URL,...

    jsoupAPI解析html

    1. **连接(Connection)**:jsoup通过`Jsoup.connect()`方法建立与目标网页的连接,可以设置HTTP头部信息、请求方法(GET或POST)等,然后通过`.get()`或`.post()`方法发送请求并获取HTML响应。 2. **文档...

    使用Jsoup解析html网页

    这可以通过`Jsoup.connect()`方法完成,它允许设置请求头、HTTP方法(GET或POST)以及数据提交等。 2. **HTML解析**:一旦建立了连接,可以使用`get()`或`post()`方法获取HTML文档。然后,`parse()`方法将HTML内容...

    jsoup网页爬虫小案例

    2. **建立连接**:使用Jsoup的`connect()`方法,指定要爬取的URL,然后调用`get()`或`post()`方法发送请求。 3. **解析HTML**:获取到网页内容后,用`parse()`方法解析HTML,得到`Document`对象。 4. **选择元素**...

    HttpClient和jsoup架包

    HttpClient库允许开发者模拟浏览器行为,发起GET、POST以及其他HTTP方法的请求,支持HTTPS、Cookie管理、重定向处理、自定义头信息等功能。在实际应用中,HttpClient可以用于数据抓取、API调用、自动化测试等多个...

    Jsoup 1.6.2 API

    - `Jsoup.connect()`方法可以建立HTTP连接,并支持GET、POST和其他HTTP方法。它还可以设置请求头、处理cookies和重定向。 - `Connection.Response`对象提供了处理响应的能力,如解析响应体为`Document`或提取响应...

    jsoup实现网络爬虫

    1. **连接与解析**:JSoup使用`Jsoup.connect()`方法建立HTTP连接,并通过`get()`或`post()`方法发送请求。之后,调用`parse()`方法解析返回的HTML文档。 ```java Document doc = Jsoup.connect(...

    jsoup1.6源码及API

    - **Connection.post()**:发起POST请求,可以提交表单数据,同样返回`Response`对象。 - **Document.parse()**:解析HTML字符串或输入流,返回一个`Document`对象。 - **Element**:表示HTML元素,提供了如text()...

    Jsoup源码以及chm文件

    6. 基于HTTP的连接:Jsoup内置了简单的HTTP客户端,可以直接发起GET或POST请求获取网页内容,简化了网络爬虫的开发工作。 7. 安全性:Jsoup遵循同源策略,以防止跨站脚本攻击(XSS)。在处理用户输入时,可以使用...

    jsoup 中文 api 文档

    这包括支持 HTTP 方法(GET 和 POST),设置请求头,处理 cookies 等功能。 2. **解析(Parse)**: 使用 `Jsoup.parse()` 可以将 HTML 字符串或文件解析为 `Document` 对象,这是 jsoup 中的根节点,代表整个 HTML ...

    httpClient+jsoup 抓取网页数据

    它提供了全面的HTTP协议支持,包括GET、POST、PUT等方法,以及处理Cookie、重定向、认证等功能。HttpClient的使用可以让你构建复杂的HTTP客户端应用程序,它具有高度可定制性和灵活性。 1. **HttpClient的使用**: ...

Global site tag (gtag.js) - Google Analytics