public void fileUpload() throws Exception { uploading(); httpPost = new NUHttpPost(postURL); MultipartEntity mpEntity = new MultipartEntity(); ContentBody cbFile = createMonitoredFileBody(); mpEntity.addPart("MAX_FILE_SIZE", new StringBody(MAX_FILE_SIZE)); mpEntity.addPart("UPLOAD_IDENTIFIER", new StringBody(UPLOAD_IDENTIFIER)); mpEntity.addPart("go", new StringBody(go)); mpEntity.addPart("files", cbFile); mpEntity.addPart("agree", new StringBody("1")); mpEntity.addPart("submit", new StringBody("Upload Now")); httpPost.setEntity(mpEntity); NULogger.getLogger() .info("Now uploading your file into depositfiles..........................."); HttpResponse response = httpclient.execute(httpPost, httpContext); HttpEntity resEntity = response.getEntity(); NULogger.getLogger().info(response.getStatusLine().toString()); if (resEntity != null) { gettingLink(); uploadresponse = EntityUtils.toString(resEntity); downloadlink = StringUtils.stringBetweenTwoStrings(uploadresponse, "ud_download_url = '", "'"); deletelink = StringUtils.stringBetweenTwoStrings(uploadresponse, "ud_delete_url = '", "'"); NULogger.getLogger().log(Level.INFO, "download link : {0}", downloadlink); NULogger.getLogger().log(Level.INFO, "delete link : {0}", deletelink); downURL = downloadlink; delURL = deletelink; } else { throw new Exception("Error in depositfiles!"); } }
private void initialize() throws Exception { NULogger.getLogger().info("After login, geting the link again :)"); httpGet = new NUHttpGet("http://www.slingfile.com/"); httpResponse = httpclient.execute(httpGet, httpContext); stringResponse = EntityUtils.toString(httpResponse.getEntity()); // FileUtils.saveInFile("SlingFile.com.html", stringResponse); // See here: http://www.slingfile.com/media/plupload.beauty.js // http://www.plupload.com/punbb/viewtopic.php?pid=5686 jSonObject = new JSONObject( StringUtils.stringBetweenTwoStrings(stringResponse, "var uploaderSettings = ", ";")); uploadURL = jSonObject.getString("uploadURL"); ssd = jSonObject.getString("ssd"); if (jSonObject.has("encUserID")) { encUserID = jSonObject.getString("encUserID"); } progressID = guid(); postURL = uploadURL + progressID; rauLink = StringUtils.stringBetweenTwoStrings(stringResponse, "document.location.href = '", "'"); NULogger.getLogger().log(Level.INFO, "progressID: " + progressID); URILink = URIUtils.createURI(rauLink); }
/** * Find the C Challenge URL from the given K Challenge URL. * * @param kCaptchaUrl The K Challenge URL as a String. * @return The C Challenge URL as a String.. * @throws IOException */ @Override public String findCCaptchaUrlFromK(String kCaptchaUrl) throws IOException, Exception { cCaptchaUrl = null; if (kCaptchaUrl == null) { return null; } String body = NUHttpClientUtils.getData(kCaptchaUrl, httpContext); // CommonUploaderTasks.saveInFile("Recaptcha.html", body); regex = Pattern.compile(googleRegC); regexMatcher = regex.matcher(body); if (regexMatcher.find()) { NULogger.getLogger().info("Google C recaptcha found!"); cCaptchaUrl = body.substring(regexMatcher.start(), regexMatcher.end()); cCaptchaUrl = StringUtils.stringBetweenTwoStrings(cCaptchaUrl, "'", "'"); NULogger.getLogger().log(Level.INFO, "cCaptchaUrl: {0}", cCaptchaUrl); return cCaptchaUrl; } NULogger.getLogger().log(Level.INFO, "kCaptchaUrl: {0}", kCaptchaUrl); return cCaptchaUrl; }
@Override public void login() { loginsuccessful = false; try { initialize(); NULogger.getLogger().info("Trying to log in to TopUpload1.com"); httpPost = new NUHttpPost("http://topupload1.com/ajax/_account_login.ajax.php"); List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("username", getUsername())); formparams.add(new BasicNameValuePair("password", getPassword())); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); httpPost.setEntity(entity); httpResponse = httpclient.execute(httpPost, httpContext); NULogger.getLogger().info(httpResponse.getStatusLine().toString()); responseString = EntityUtils.toString(httpResponse.getEntity()); if (StringUtils.stringBetweenTwoStrings(responseString, "\"login_status\":\"", "\"") .equals("success")) { EntityUtils.consume(httpResponse.getEntity()); loginsuccessful = true; username = getUsername(); password = getPassword(); NULogger.getLogger().info("TopUpload1.com login successful!"); } else { // Get error message responseString = EntityUtils.toString(httpResponse.getEntity()); // FileUtils.saveInFile("TopUploadOneAccount.html", responseString); Document doc = Jsoup.parse(responseString); String error = doc.select(".err").first().text(); if ("Incorrect Login or Password".equals(error)) { throw new NUInvalidLoginException(getUsername(), HOSTNAME); } // Generic exception throw new Exception("Login error: " + error); } } catch (NUException ex) { resetLogin(); ex.printError(); accountUIShow().setVisible(true); } catch (Exception e) { resetLogin(); NULogger.getLogger().log(Level.SEVERE, "{0}: {1}", new Object[] {getClass().getName(), e}); showWarningMessage(Translation.T().loginerror(), HOSTNAME); accountUIShow().setVisible(true); } }
private String captchaSolver() { NULogger.getLogger().info("** Ex-Load.com ** => Solving the captcha ..."); int i = 0; String pd_lft = "", capt_digit = "", captcha_code = ""; for (i = 0; i < 4; i++) { pd_lft = doc.select("input[name=code]") .first() .parent() .previousElementSibling() .select("div") .select("span") .eq(i) .toString(); pd_lft = StringUtils.stringBetweenTwoStrings(pd_lft, "padding-left:", "px;"); capt_digit = doc.select("input[name=code]") .first() .parent() .previousElementSibling() .select("div") .select("span") .eq(i) .text(); assoc.put(Integer.parseInt(pd_lft), Integer.parseInt(capt_digit)); } NULogger.getLogger().info("** Ex-Load.com ** => Appeared sequence " + assoc.toString()); Map<Integer, Integer> treeMap = new TreeMap<Integer, Integer>(assoc); NULogger.getLogger().info("** Ex-Load.com ** => REAL sequence " + treeMap.toString()); // iterating over values only for (Integer value : treeMap.values()) { captcha_code += value.toString(); } return captcha_code; }
@Override public void run() { try { if (privateFilesAccount.loginsuccessful) { userType = "reg"; httpContext = privateFilesAccount.getHttpContext(); sessionID = CookieUtils.getCookieValue(httpContext, "xfss"); maxFileSizeLimit = 2147483648L; // 2 GB } else { host = "PrivateFiles.com"; uploadInvalid(); return; } if (file.length() > maxFileSizeLimit) { throw new NUMaxFileSizeException(maxFileSizeLimit, file.getName(), host); } uploadInitialising(); initialize(); long uploadID; Random random = new Random(); uploadID = Math.round(random.nextFloat() * Math.pow(10, 12)); uploadid_s = String.valueOf(uploadID); sess_id = StringUtils.stringBetweenTwoStrings(responseString, "name=\"sess_id\" value=\"", "\""); srv_tmp_url = uploadURL; uploadURL = StringUtils.removeLastChars(uploadURL, 3) + "cgi-bin/upload.cgi?upload_id=" + uploadid_s + "&js_on=1&utype=" + userType + "&upload_type=file"; httpPost = new NUHttpPost(uploadURL); MultipartEntity mpEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); mpEntity.addPart("js_on", new StringBody("1")); mpEntity.addPart("upload_id", new StringBody(uploadid_s)); mpEntity.addPart("upload_type", new StringBody("file")); mpEntity.addPart("utype", new StringBody(userType)); mpEntity.addPart("sess_id", new StringBody(sess_id)); mpEntity.addPart("srv_tmp_url", new StringBody(srv_tmp_url)); mpEntity.addPart("file_0", createMonitoredFileBody()); mpEntity.addPart("file_0_descr", new StringBody("")); mpEntity.addPart("link_rcpt", new StringBody("")); mpEntity.addPart("link_pass", new StringBody("")); mpEntity.addPart("to_folder", new StringBody("")); mpEntity.addPart("file_1", new StringBody("")); mpEntity.addPart("file_0_descr", new StringBody("")); httpPost.setEntity(mpEntity); NULogger.getLogger().log(Level.INFO, "executing request {0}", httpPost.getRequestLine()); NULogger.getLogger().info("Now uploading your file into PrivateFiles.com"); uploading(); httpResponse = httpclient.execute(httpPost, httpContext); responseString = EntityUtils.toString(httpResponse.getEntity()); doc = Jsoup.parse(responseString); // Read the links gettingLink(); upload_fn = doc.select("textarea[name=fn]").val(); if (upload_fn != null) { httpPost = new NUHttpPost("https://www.privatefiles.com/"); List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("fn", upload_fn)); formparams.add(new BasicNameValuePair("op", "upload_result")); formparams.add(new BasicNameValuePair("st", "OK")); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); httpPost.setEntity(entity); httpResponse = httpclient.execute(httpPost, httpContext); responseString = EntityUtils.toString(httpResponse.getEntity()); doc = Jsoup.parse(responseString); downloadlink = doc.select("textarea").first().val(); deletelink = doc.select("textarea").eq(3).val(); NULogger.getLogger().log(Level.INFO, "Delete link : {0}", deletelink); NULogger.getLogger().log(Level.INFO, "Download link : {0}", downloadlink); downURL = downloadlink; delURL = deletelink; uploadFinished(); } } catch (NUException ex) { ex.printError(); uploadInvalid(); } catch (Exception e) { Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, e); uploadFailed(); } }
private void initialize() throws Exception { responseString = NUHttpClientUtils.getData("http://privatefiles.com", httpContext); doc = Jsoup.parse(responseString); uploadURL = StringUtils.stringBetweenTwoStrings(responseString, "name=\"srv_tmp_url\" value=\"", "\""); }