Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.app.core.HttpClient;
- import com.app.common.Exeption403;
- import com.app.core.HttpClient.proxy.Proxy;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.UnsupportedEncodingException;
- import java.util.ArrayList;
- import java.util.List;
- import org.apache.http.HttpHost;
- import org.apache.http.HttpResponse;
- import org.apache.http.NameValuePair;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.config.RequestConfig;
- import org.apache.http.client.entity.UrlEncodedFormEntity;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.impl.client.HttpClientBuilder;
- import org.apache.http.message.BasicNameValuePair;
- import org.jsoup.Jsoup;
- import org.jsoup.nodes.Document;
- import org.jsoup.nodes.Element;
- import org.jsoup.select.Elements;
- /**
- *
- *
- * Date: 22.1.2017 (11:03:53)
- *
- * @author Jakub Löffelmann | jakubloffelmann@gmail.com
- *
- * Encoding: UTF-8
- *
- */
- public class HttpCore {
- private final HttpClient client = HttpClientBuilder.create().build();
- private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";
- private String cookies;
- public String getPageContent(String url, Proxy proxy, String referal) throws IOException, Exeption403 {
- HttpGet request = new HttpGet(url);
- if (proxy != null) {
- HttpHost proxyHost = new HttpHost(proxy.getIp(), proxy.getPort(), "http");
- RequestConfig config = RequestConfig.custom()
- .setProxy(proxyHost)
- .build();
- request.setConfig(config);
- }
- request.setHeader("User-Agent", USER_AGENT);
- request.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,*.*");
- request.setHeader("Accept-Language", "cs-CZ,cs;q=0.8,en;q=0.6,fr;q=0.4");
- if (referal.length() > 0) {
- request.setHeader("Referer", referal);
- }
- HttpResponse response = client.execute(request);
- int responseCode = response.getStatusLine().getStatusCode();
- if (responseCode == 403) {
- throw new Exeption403("403");
- }
- BufferedReader rd = new BufferedReader(
- new InputStreamReader(response.getEntity().getContent()));
- StringBuilder result = new StringBuilder();
- String line = "";
- while ((line = rd.readLine()) != null) {
- result.append(line);
- }
- request.releaseConnection();
- // set cookies
- setCookies(response.getFirstHeader("Set-Cookie") == null ? ""
- : response.getFirstHeader("Set-Cookie").toString());
- return result.toString();
- }
- public String GetPageContent(String url) throws Exception {
- return getPageContent(url, null, "");
- }
- public void sendPost(String url, List<NameValuePair> postParams, Proxy proxy) throws IOException, Exeption403 {
- HttpPost post = new HttpPost(url);
- if (proxy != null) {
- HttpHost proxyHost = new HttpHost(proxy.getIp(), proxy.getPort(), "http");
- RequestConfig config = RequestConfig.custom()
- .setProxy(proxyHost)
- .build();
- post.setConfig(config);
- }
- // add header
- post.setHeader("Host", "www.websurf.cz");
- post.setHeader("User-Agent", USER_AGENT);
- post.setHeader("Accept",
- "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
- post.setHeader("Accept-Language", "cs-CZ,cs;q=0.8,en;q=0.6,fr;q=0.4");
- post.setHeader("Cookie", getCookies());
- post.setHeader("Connection", "keep-alive");
- post.setHeader("Content-Lenght", "29");
- post.setHeader("Referer", "https://www.websurf.cz/");
- post.setHeader("Content-Type", "application/x-www-form-urlencoded");
- post.setEntity(new UrlEncodedFormEntity(postParams));
- HttpResponse response = client.execute(post);
- int responseCode = response.getStatusLine().getStatusCode();
- if (responseCode == 403) {
- throw new Exeption403("403");
- }
- // System.out.println("\nSending 'POST' request to URL : " + url);
- // System.out.println("Post parameters : " + postParams);
- // System.out.println("Response Code : " + responseCode);
- BufferedReader rd = new BufferedReader(
- new InputStreamReader(response.getEntity().getContent()));
- StringBuffer result = new StringBuffer();
- String line = "";
- while ((line = rd.readLine()) != null) {
- result.append(line);
- }
- post.releaseConnection();
- // System.out.println(result.toString());
- }
- public void sendPost(String url, List<NameValuePair> postParams)
- throws Exception {
- sendPost(url, postParams, null);
- }
- private List<NameValuePair> getFormParams(
- String html, String username, String password)
- throws UnsupportedEncodingException {
- // System.out.println("Extracting form's data...");
- Document doc = Jsoup.parse(html);
- Element loginform = doc.getElementsByTag("form").get(0);
- Elements inputElements = loginform.getElementsByTag("input");
- List<NameValuePair> paramList = new ArrayList<>();
- for (Element inputElement : inputElements) {
- String key = inputElement.attr("name");
- String value = inputElement.attr("value");
- if (key.equals("jmeno")) {
- value = username;
- } else if (key.equals("heslo")) {
- value = password;
- } else if (key.equals("submit")) {
- value = "Přihlásit se";
- }
- paramList.add(new BasicNameValuePair(key, value));
- }
- return paramList;
- }
- public String getCookies() {
- return cookies;
- }
- public void setCookies(String cookies) {
- this.cookies = cookies;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement