From 9e1a2a65c95737b6c5faa77bc7c0cdd0b4460886 Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 16 Jul 2025 18:48:00 +0000 Subject: [PATCH] more bugfixes --- src/providers/pornhub.rs | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/src/providers/pornhub.rs b/src/providers/pornhub.rs index 58f08a6..b3f3ffd 100644 --- a/src/providers/pornhub.rs +++ b/src/providers/pornhub.rs @@ -8,7 +8,7 @@ use error_chain::error_chain; use htmlentity::entity::{ICodedDataTrait, decode}; use std::env; use std::vec; -use wreq::Client; +use wreq::{Client, Proxy}; use wreq_util::Emulation; error_chain! { @@ -100,10 +100,10 @@ impl PornhubProvider { page: u8, query: &str, ) -> Result> { - let search_string = query.replace(" ", "+"); - let mut url = format!("{}/video?search={}&page={}", self.url, search_string, page); + let search_string = query.to_lowercase().trim().replace(" ", "+"); + let mut url = format!("{}/video/search?search={}&page={}", self.url, search_string, page); if page == 1 { - url = format!("{}/video?search={}", self.url, search_string); + url = format!("{}/video/search?search={}", self.url, search_string); } // Check our Video Cache. If the result is younger than 1 hour, we return it. @@ -120,9 +120,11 @@ impl PornhubProvider { vec![] } }; - let client = Client::builder().emulation(Emulation::Firefox136).build()?; - let response = client.get(url.clone()).send().await?; + let proxy = Proxy::all("http://192.168.0.103:8081").unwrap(); + let client = Client::builder().cert_verification(false).emulation(Emulation::Firefox136).build()?; + + let response = client.get(url.clone()).proxy(proxy).send().await?; if response.status().is_success() { let text = response.text().await?; let video_items: Vec = self.get_video_items_from_html(text.clone()); @@ -166,36 +168,40 @@ impl PornhubProvider { return vec![]; } let mut items: Vec = Vec::new(); - let video_listing_content = html.split("