Post Request Using HtmlUnit
If you hit request without browser you have multiple libraries.In one of that is HtmlUnit that will headless browser to hit the request.
In java you have hit request like post()/get() that depends open to urls and parameters that will required to bases for identify you request is from browser or not.
so, you need to pass the parameters that you need to authentication require from server side to process your request.
Requrie library : HtmlUnit
package Demo;
import com.gargoylesoftware.htmlunit.HttpMethod;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.WebRequest;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.util.NameValuePair;
import java.net.URL;
import java.util.ArrayList;
/**
*
* @author vishal.khokhar
*/
public class PostRequestDemo {
WebClient webClient = new WebClient();
String param1;
String param2;
String param3;
public PostRequestDemo(String param1, String param2, String param3) {
this.param1 = param1;
this.param2 = param2;
this.param3 = param3;
}
public static void main(String[] args) {
HtmlPage page=new PostRequestDemo("data1", "data2", "data3").setWebRequest();
}
public HtmlPage setWebRequest(){
HtmlPage page=null;
try {
ArrayList<NameValuePair> val = new ArrayList();
val.add(new NameValuePair("__ASYNCPOST", "true"));
val.add(new NameValuePair("$ContentPlaceHolder1$param1", param1));
val.add(new NameValuePair("$ContentPlaceHolder1$param2", param2));
val.add(new NameValuePair("$ContentPlaceHolder1$param3", param3));
WebRequest webrequest = new WebRequest(new URL("https://scrapemania.blogspot.in/"), HttpMethod.POST);
webrequest.setAdditionalHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
webrequest.setAdditionalHeader("Accept-Encoding", "gzip, deflate");
webrequest.setAdditionalHeader("Accept-Language", "en-US,en;q=0.5");
webrequest.setAdditionalHeader("Cache-Control", "no-cache");
webrequest.setAdditionalHeader("Connection", "keep-alive");
webrequest.setAdditionalHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
webrequest.setAdditionalHeader("Host", "scrapemania.blogspot.in/");
webrequest.setAdditionalHeader("Pragma", "no-cache");
webrequest.setAdditionalHeader("Referer", "https://scrapemania.blogspot.in/");
webrequest.setAdditionalHeader("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:28.0) Gecko/20100101 Firefox/28.0");
webrequest.setAdditionalHeader("X-MicrosoftAjax", "Delta=true");
webrequest.setAdditionalHeader("X-Requested-With", "XMLHttpRequest");
webrequest.setRequestParameters(val);
page = webClient.getPage(webrequest);
} catch (Exception ex) {
ex.printStackTrace();
}
return page;
}
}
No comments:
Post a Comment