All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mo.mohttp.Client Maven / Gradle / Ivy

package com.mo.mohttp;


import com.mo.mohttp.http.NameValuePair;

import java.net.*;
import java.util.ArrayList;
import java.util.List;

/**
 * 
 * Http客户端连接,用于存储cookie和一些公共的配置信息。
 *
 * 实例方法:
 * Client client = new Client();
 * 或者
 * Client client = Http.newClient();
 *
 * 从client中得到存储的cookie:
 * java.net.CookieManager cookieManager = client.getCookieManager();
 * java.net.CookieStore cookieStore = client.getCookieStore();
 * 如果classpath中有httpclient,则应该是:
 * org.apache.http.client.CookieStore cookieStore =
    HttpClientExecutor.getInstance().getCookieStore(client);
 * @see CookieManager
 * @see CookieStore
 * @see org.apache.http.client.CookieStore
 * 
*/ public class Client { private CookieManager cookieManager; private List headers; private String userAgent; public Client(){ cookieManager = new CookieManager(); cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); headers = new ArrayList<>(); } public List getHeaders() { return headers; } public String getUserAgent() { return userAgent; } /** * 向Client客户端中存入默认的header字段 * @param key 字段名,可取{@link com.mo.mohttp.constant.Headers}中的值,或者自定义值 * @param value 字段值 * @return client */ public Client header(String key,String value){ headers.add(new NameValuePair(key,value)); return this; } /** * 设置client中默认的user agent * @param agent 可取{@link com.mo.mohttp.constant.Agents}中的常量值 * @return client */ public Client agent(String agent){ this.userAgent = agent; return this; } public Request GET(URI uri){ return uri(uri); } public Request GET(String uri){ return uri(uri); } public Request POST(URI uri){ return uri(uri).method(Http.Method.POST); } public Request POST(String uri){ return uri(uri).method(Http.Method.POST); } public CookieStore getCookieStore(){ return cookieManager.getCookieStore(); } public CookieManager getCookieManager() { return cookieManager; } public Request uri(URI uri){ return new Request(this,uri); } public Request uri(String uri){ return new Request(this,uri); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy