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

us.codecraft.webmagic.Request Maven / Gradle / Ivy

There is a newer version: 1.0.2
Show newest version
package us.codecraft.webmagic;

import us.codecraft.webmagic.utils.Experimental;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * Object contains url to crawl.
* It contains some additional information.
* * @author [email protected]
* @since 0.1.0 */ public class Request implements Serializable { private static final long serialVersionUID = 2062192774891352043L; public static final String CYCLE_TRIED_TIMES = "_cycle_tried_times"; public static final String STATUS_CODE = "statusCode"; public static final String PROXY = "proxy"; private String url; private String method; /** * Store additional information in extras. */ private Map extras; /** * Priority of the request.
* The bigger will be processed earlier.
* @see us.codecraft.webmagic.scheduler.PriorityScheduler */ private long priority; public Request() { } public Request(String url) { this.url = url; } public long getPriority() { return priority; } /** * Set the priority of request for sorting.
* Need a scheduler supporting priority.
* @see us.codecraft.webmagic.scheduler.PriorityScheduler * * @param priority priority * @return this */ @Experimental public Request setPriority(long priority) { this.priority = priority; return this; } public Object getExtra(String key) { if (extras == null) { return null; } return extras.get(key); } public Request putExtra(String key, Object value) { if (extras == null) { extras = new HashMap(); } extras.put(key, value); return this; } public String getUrl() { return url; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Request request = (Request) o; if (!url.equals(request.url)) return false; return true; } public Map getExtras() { return extras; } @Override public int hashCode() { return url.hashCode(); } public void setExtras(Map extras) { this.extras = extras; } public void setUrl(String url) { this.url = url; } /** * The http method of the request. Get for default. * @return httpMethod * @see us.codecraft.webmagic.utils.HttpConstant.Method * @since 0.5.0 */ public String getMethod() { return method; } public void setMethod(String method) { this.method = method; } @Override public String toString() { return "Request{" + "url='" + url + '\'' + ", method='" + method + '\'' + ", extras=" + extras + ", priority=" + priority + '}'; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy