### ABCProxy Residential Proxy Usage with Curl Source: https://docs.abcproxy.com/proxies/residential-proxies/getting-started-guide Demonstrates how to use ABCProxy residential proxies with `curl` to make requests. The examples cover basic proxy usage, targeting specific countries or cities, and maintaining sessions with defined durations. Ensure you replace USERNAME and PASSWORD with your actual ABCProxy credentials. ```sh curl -x proxy.abcproxy.com:4950 -U "USERNAME-zone-abc:PASSWORD" ipinfo.io ``` ```sh curl -x proxy.abcproxy.com:4950 -U "USERNAME-zone-abc-region-US:PASSWORD" ipinfo.io ``` ```sh curl -x proxy.abcproxy.com:4950 -U "USERNAME-zone-abc-region-US-st-newyork-city-newburgh:PASSWORD" ipinfo.io ``` ```sh curl -x proxy.abcproxy.com:4950 -U "USERNAME-zone-abc-session-65bx0oy4-sessTime-30:PASSWORD" ipinfo.io ``` -------------------------------- ### Scraping Browser: Python, NodeJS (Puppeteer), NodeJS (Playwright) Examples Source: https://docs.abcproxy.com/scraping-browser/get-started Demonstrates connecting to a Scraping Browser service and performing basic web scraping tasks. Includes examples for Python using Selenium, NodeJS with Puppeteer, and NodeJS with Playwright. Each snippet shows how to establish a connection, navigate to a URL, take a screenshot, and retrieve the page's HTML content. ```python from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.remote_connection import ChromiumRemoteConnection from selenium.webdriver import Remote AUTH = 'PROXY-FULL-ACCOUNT:PASSWORD' REMOTE_WEBDRIVER = f'https://{AUTH}@hs-scbr.abcproxy.com' def main(): print('Connecting to Scraping Browser...') sbr_connection = ChromiumRemoteConnection(REMOTE_WEBDRIVER, 'goog', 'chrome') with Remote(sbr_connection, options=ChromeOptions()) as driver: # get target URL print('Connected! Navigating to target ...') driver.get('https://example.com') # screenshot print('screenshot to png') driver.get_screenshot_as_file('./remote_page.png') # html content print('Get page content...') html = driver.page_source print(html) if __name__ == '__main__': main() ``` ```javascript const puppeteer = require('puppeteer-core'); const AUTH = 'PROXY-FULL-ACCOUNT:PASSWORD'; const WS_ENDPOINT = `wss://${AUTH}@upg-scbr.abcproxy.com`; (async () => { console.log('Connecting to Scraping Browser...'); const browser = await puppeteer.connect({ browserWSEndpoint: WS_ENDPOINT, defaultViewport: {width: 1920, height: 1080} }); try { console.log('Connected! Navigating to Target URL'); const page = await browser.newPage(); await page.goto('https://example.com', { timeout: 2 * 60 * 1000 }); //1.Screenshot console.log('Screenshot to page.png'); await page.screenshot({ path: 'remote_screenshot.png' }); console.log('Screenshot be saved'); //2.Get content console.log('Get page content...'); const html = await page.content(); console.log("source Htmml: ", html) } finally { // In order to better use the Scraping browser, be sure to close the browser after the script is executed await browser.close(); } })(); ``` ```javascript const pw = require('playwright'); const AUTH = 'PROXY-FULL-ACCOUNT:PASSWORD'; const SBR_CDP = `wss://${AUTH}@upg-scbr.abcproxy.com`; async function main() { console.log('Connecting to Scraping Browser...'); const browser = await pw.chromium.connectOverCDP(SBR_CDP); try { console.log('Connected! Navigating to target...'); const page = await browser.newPage(); // Target URL await page.goto('https://www.windows.com', { timeout: 2 * 60 * 1000 }); // Screenshot console.log('To Screenshot from page'); await page.screenshot({ path: './remote_screenshot_page.png'}); // html content console.log('Scraping page content...'); const html = await page.content(); console.log(html); } finally { // In order to better use the Scraping browser, be sure to close the browser after the script is executed await browser.close(); } } if (require.main === module) { main().catch(err => { console.error(err.stack || err); process.exit(1); }); } ``` -------------------------------- ### ABCProxy Search API Request Examples Source: https://docs.abcproxy.com/zh/serp-api/google/google-chan-pin-api Demonstrates how to make a GET request to the ABCProxy search API to retrieve product information. Includes examples for common parameters like engine, product_id, and api_key across multiple programming languages. ```cURL curl -X GET "https://serpapi.abcproxy.com/search" \ -d "engine=google_product" \ -d "product_id=4887235756540435899" \ -d "no_cache=false" \ -d "api_key=YOUR_API_KEY" ``` ```Python import requests params = { "engine": "google_product", "product_id": "4887235756540435899", "no_cache": "false", "api_key": "YOUR_API_KEY" } response = requests.get("https://serpapi.abcproxy.com/search", params=params) print(response.json()) ``` ```Node.js const axios = require('axios'); const params = { engine: "google_product", product_id: "4887235756540435899", no_cache: "false", api_key: "YOUR_API_KEY" }; axios.get("https://serpapi.abcproxy.com/search", { params }) .then(response => console.log(response.data)); ``` ```HTTP GET /search?engine=google_product&product_id=4887235756540435899&no_cache=false&api_key=YOUR_API_KEY HTTP/1.1 Host: serpapi.abcproxy.com ``` ```PHP get('https://serpapi.abcproxy.com/search', [ 'query' => [ 'engine' => 'google_product', 'product_id' => '4887235756540435899', 'no_cache' => 'false', 'api_key' => 'YOUR_API_KEY' ] ]); echo $response->getBody(); ?> ``` ```Golang package main import ( "net/http" "io/ioutil" "log" ) func main() { client := &http.Client{} req, _ := http.NewRequest("GET", "https://serpapi.abcproxy.com/search", nil) q := req.URL.Query() q.Add("engine", "google_product") q.Add("product_id", "4887235756540435899") q.Add("no_cache", "false") q.Add("api_key", "YOUR_API_KEY") req.URL.RawQuery = q.Encode() resp, _ := client.Do(req) body, _ := ioutil.ReadAll(resp.Body) log.Println(string(body)) } ``` ```C# using System; using System.Net.Http; class Program { static async Task Main() { var client = new HttpClient(); var query = System.Web.HttpUtility.ParseQueryString(string.Empty); query["engine"] = "google_product"; query["product_id"] = "4887235756540435899"; query["no_cache"] = "false"; query["api_key"] = "YOUR_API_KEY"; var response = await client.GetAsync( $"https://serpapi.abcproxy.com/search?{query}" ); Console.WriteLine(await response.Content.ReadAsStringAsync()); } } ``` ```Java import java.net.*; import java.io.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) throws Exception { String url = "https://serpapi.abcproxy.com/search" + "?engine=google_product" + "&product_id=4887235756540435899" + "&no_cache=false" + "&api_key=YOUR_API_KEY"; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream()) ); String response = in.lines().collect(Collectors.joining()); System.out.println(response); } } ``` -------------------------------- ### Making ABCProxy Search Requests Source: https://docs.abcproxy.com/serp-api/google/google-local-api Examples show how to make GET requests to the ABCProxy search endpoint using different languages and tools. These examples include setting query parameters like 'engine', 'q', 'no_cache', and 'api_key'. ```cURL curl -X GET "https://serpapi.abcproxy.com/search" \ -d "engine=google_local" \ -d "q=Coffee" \ -d "no_cache=false" \ -d "api_key=YOUR_API_KEY" ``` ```Python import requests params = { "engine": "google_local", "q": "Coffee", "no_cache": "false", "api_key": "YOUR_API_KEY" } response = requests.get("https://serpapi.abcproxy.com/search", params=params) print(response.json()) ``` ```Node.js const axios = require('axios'); const params = { engine: "google_local", q: "Coffee", no_cache: "false", api_key: "YOUR_API_KEY" }; axios.get("https://serpapi.abcproxy.com/search", { params }) .then(response => console.log(response.data)); ``` ```HTTP GET /search?engine=google_local&q=Coffee&no_cache=false&api_key=YOUR_API_KEY HTTP/1.1 Host: serpapi.abcproxy.com ``` ```PHP get('https://serpapi.abcproxy.com/search', [ 'query' => [ 'engine' => 'google_local', 'q' => 'Coffee', 'no_cache' => 'false', 'api_key' => 'YOUR_API_KEY' ] ]); echo $response->getBody(); ?> ``` ```Golang package main import ( "net/http" "io/ioutil" "log" ) func main() { client := &http.Client{} req, _ := http.NewRequest("GET", "https://serpapi.abcproxy.com/search", nil) q := req.URL.Query() q.Add("engine", "google_local") q.Add("q", "Coffee") q.Add("no_cache", "false") q.Add("api_key", "YOUR_API_KEY") req.URL.RawQuery = q.Encode() resp, _ := client.Do(req) body, _ := ioutil.ReadAll(resp.Body) log.Println(string(body)) } ``` ```C# using System; using System.Net.Http; class Program { static async Task Main() { var client = new HttpClient(); var query = System.Web.HttpUtility.ParseQueryString(string.Empty); query["engine"] = "google_local"; query["q"] = "Coffee"; query["no_cache"] = "false"; query["api_key"] = "YOUR_API_KEY"; var response = await client.GetAsync( $"https://serpapi.abcproxy.com/search?{query}" ); Console.WriteLine(await response.Content.ReadAsStringAsync()); } } ``` ```Java import java.net.*; import java.io.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) throws Exception { String url = "https://serpapi.abcproxy.com/search" + "?engine=google_local" + "&q=Coffee" + "&no_cache=false" + "&api_key=YOUR_API_KEY"; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream()) ); String response = in.lines().collect(Collectors.joining()); System.out.println(response); } } ``` -------------------------------- ### Fetch HTML via ABCProxy (Golang) Source: https://docs.abcproxy.com/advanced-proxy-solutions/web-unblocker/get-started Provides a Golang example using the 'net/http' package to make a GET request through a proxy ('unblock.abcproxy.com:17610') with authentication. It configures proxy details, custom headers ('X-Abc-Render: html'), and skips SSL certificate verification. ```go package main import ( "crypto/tls" "fmt" "io/ioutil" "net/http" "net/url" ) func main() { const Username = "YOUR_USERNAME-zone-unblock" const Password = "YOUR_PASSWORD" proxyUrl, _ := url.Parse( fmt.Sprintf( "http://%s:%s@unblock.abcproxy.com:17610", Username, Password, ) ) customTransport := &http.Transport{Proxy: http.ProxyURL(proxyUrl)} // We recommend accepting our certificate instead of allowing insecure (http) traffic customTransport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true} client := &http.Client{Transport: customTransport} request, _ := http.NewRequest("GET", "https://www.abcproxy.com/", nil, ) // Add custom cookies request.Header.Add("X-Abc-Render", "html") request.SetBasicAuth(Username, Password) response, _ := client.Do(request) responseText, _ := ioutil.ReadAll(response.Body) fmt.Println(string(responseText)) } ``` -------------------------------- ### Google Play Product Search Examples Source: https://docs.abcproxy.com/serp-api/google/google-play-product-api Code examples demonstrating how to fetch Google Play product information using the SerpApi. These examples cover cURL, Python, Node.js, HTTP, PHP, Golang, C#, and Java, all making a GET request to the search endpoint with relevant parameters. ```cURL curl -X GET "https://serpapi.abcproxy.com/search" \ -d "engine=google_play_product" \ -d "product_id=com.google.android.youtube" \ -d "no_cache=false" \ -d "api_key=YOUR_API_KEY" ``` ```Python import requests params = { "engine": "google_play_product", "product_id": "com.google.android.youtube", "no_cache": "false", "api_key": "YOUR_API_KEY" } response = requests.get("https://serpapi.abcproxy.com/search", params=params) print(response.json()) ``` ```Node.js const axios = require('axios'); const params = { engine: "google_play_product", product_id: "com.google.android.youtube", no_cache: "false", api_key: "YOUR_API_KEY" }; axios.get("https://serpapi.abcproxy.com/search", { params }) .then(response => console.log(response.data)); ``` ```HTTP GET /search?engine=google_play_product&q=Coffee&no_cache=false&api_key=YOUR_API_KEY HTTP/1.1 Host: serpapi.abcproxy.com ``` ```PHP get('https://serpapi.abcproxy.com/search', [ 'query' => [ 'engine' => 'google_play_product', 'product_id' => 'com.google.android.youtube', 'no_cache' => 'false', 'api_key' => 'YOUR_API_KEY' ] ]); echo $response->getBody(); ?> ``` ```Golang package main import ( "net/http" "io/ioutil" "log" ) func main() { client := &http.Client{} req, _ := http.NewRequest("GET", "https://serpapi.abcproxy.com/search", nil) q := req.URL.Query() q.Add("engine", "google_play_product") q.Add("product_id", "com.google.android.youtube") q.Add("no_cache", "false") q.Add("api_key", "YOUR_API_KEY") req.URL.RawQuery = q.Encode() resp, _ := client.Do(req) body, _ := ioutil.ReadAll(resp.Body) log.Println(string(body)) } ``` ```C# using System; using System.Net.Http; class Program { static async Task Main() { var client = new HttpClient(); var query = System.Web.HttpUtility.ParseQueryString(string.Empty); query["engine"] = "google_play_product"; query["product_id"] = "com.google.android.youtube"; query["no_cache"] = "false"; query["api_key"] = "YOUR_API_KEY"; var response = await client.GetAsync( $"https://serpapi.abcproxy.com/search?{query}" ); Console.WriteLine(await response.Content.ReadAsStringAsync()); } } ``` ```Java import java.net.*; import java.io.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) throws Exception { String url = "https://serpapi.abcproxy.com/search" + "?engine=google_play_product" + "&product_id=com.google.android.youtube" + "&no_cache=false" + "&api_key=YOUR_API_KEY"; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream()) ); String response = in.lines().collect(Collectors.joining()); System.out.println(response); } } ``` -------------------------------- ### YouTube Search API Request Examples Source: https://docs.abcproxy.com/zh/serp-api/youtube/youtube-sou-xun-api Provides code examples for making requests to the YouTube Search API using various programming languages and tools. Demonstrates how to construct the GET request with necessary parameters like engine, query, and API key. ```bash curl -X GET "https://serpapi.abcproxy.com/search" \ -d "engine=youtube" \ -d "q=abc" \ -d "no_cache=false" \ -d "api_key=YOUR_API_KEY" ``` ```python import requests params = { "engine": "youtube", "q": "abc", "no_cache": "false", "api_key": "YOUR_API_KEY" } response = requests.get("https://serpapi.abcproxy.com/search", params=params) print(response.json()) ``` ```javascript const axios = require('axios'); const params = { engine: "youtube", q: "abc", no_cache: "false", api_key: "YOUR_API_KEY" }; axios.get("https://serpapi.abcproxy.com/search", { params }) .then(response => console.log(response.data)); ``` ```http GET /search?engine=youtube&q=abc&no_cache=false&api_key=YOUR_API_KEY HTTP/1.1 Host: serpapi.abcproxy.com ``` ```php get('https://serpapi.abcproxy.com/search', [ 'query' => [ 'engine' => 'youtube', 'q' => 'abc', 'no_cache' => 'false', 'api_key' => 'YOUR_API_KEY' ] ]); echo $response->getBody(); ?> ``` ```go package main import ( "net/http" "io/ioutil" "log" ) func main() { client := &http.Client{} req, _ := http.NewRequest("GET", "https://serpapi.abcproxy.com/search", nil) q := req.URL.Query() q.Add("engine", "youtube") q.Add("q", "abc") q.Add("no_cache", "false") q.Add("api_key", "YOUR_API_KEY") req.URL.RawQuery = q.Encode() resp, _ := client.Do(req) body, _ := ioutil.ReadAll(resp.Body) log.Println(string(body)) } ``` ```csharp using System; using System.Net.Http; class Program { static async Task Main() { var client = new HttpClient(); var query = System.Web.HttpUtility.ParseQueryString(string.Empty); query["engine"] = "youtube"; query["q"] = "abc"; query["no_cache"] = "false"; query["api_key"] = "YOUR_API_KEY"; var response = await client.GetAsync( $"https://serpapi.abcproxy.com/search?{query}" ); Console.WriteLine(await response.Content.ReadAsStringAsync()); } } ``` ```java import java.net.*; import java.io.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) throws Exception { String url = "https://serpapi.abcproxy.com/search" + "?engine=youtube" + "&q=abc" + "&no_cache=false" + "&api_key=YOUR_API_KEY"; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream()) ); String response = in.lines().collect(Collectors.joining()); System.out.println(response); } } ``` -------------------------------- ### Fetch HTML via ABCProxy (Golang) Source: https://docs.abcproxy.com/zh/gao-ji-dai-li-jie-jue-fang-an/wang-ye-jie-suo-qi/kai-shi-shi-yong Provides a Golang example using the 'net/http' package to make a GET request through a proxy ('unblock.abcproxy.com:17610') with authentication. It configures proxy details, custom headers ('X-Abc-Render: html'), and skips SSL certificate verification. ```go package main import ( "crypto/tls" "fmt" "io/ioutil" "net/http" "net/url" ) func main() { const Username = "YOUR_USERNAME-zone-unblock" const Password = "YOUR_PASSWORD" proxyUrl, _ := url.Parse( fmt.Sprintf( "http://%s:%s@unblock.abcproxy.com:17610", Username, Password, ) ) customTransport := &http.Transport{Proxy: http.ProxyURL(proxyUrl)} // We recommend accepting our certificate instead of allowing insecure (http) traffic customTransport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true} client := &http.Client{Transport: customTransport} request, _ := http.NewRequest("GET", "https://www.abcproxy.com/", nil, ) // Add custom cookies request.Header.Add("X-Abc-Render", "html") request.SetBasicAuth(Username, Password) response, _ := client.Do(request) responseText, _ := ioutil.ReadAll(response.Body) fmt.Println(string(responseText)) } ``` -------------------------------- ### Making HTTP Requests to ABCProxy Search API Source: https://docs.abcproxy.com/zh/serp-api/google/google-shi-bin-api Demonstrates how to make GET requests to the ABCProxy search API to retrieve search results. Examples cover common programming languages and tools, showing how to set query parameters like engine, search term, and API key. ```bash curl -X GET "https://serpapi.abcproxy.com/search" \ -d "engine=google_videos" \ -d "q=Coffee" \ -d "no_cache=false" \ -d "api_key=YOUR_API_KEY" ``` ```python import requests params = { "engine": "google_videos", "q": "Coffee", "no_cache": "false", "api_key": "YOUR_API_KEY" } response = requests.get("https://serpapi.abcproxy.com/search", params=params) print(response.json()) ``` ```javascript const axios = require('axios'); const params = { engine: "google_videos", q: "Coffee", no_cache: "false", api_key: "YOUR_API_KEY" }; axios.get("https://serpapi.abcproxy.com/search", { params }) .then(response => console.log(response.data)); ``` ```http GET /search?engine=google_videos&q=Coffee&no_cache=false&api_key=YOUR_API_KEY HTTP/1.1 Host: serpapi.abcproxy.com ``` ```php get('https://serpapi.abcproxy.com/search', [ 'query' => [ 'engine' => 'google_videos', 'q' => 'Coffee', 'no_cache' => 'false', 'api_key' => 'YOUR_API_KEY' ] ]); echo $response->getBody(); ?> ``` ```go package main import ( "net/http" "io/ioutil" "log" ) func main() { client := &http.Client{} req, _ := http.NewRequest("GET", "https://serpapi.abcproxy.com/search", nil) q := req.URL.Query() q.Add("engine", "google_videos") q.Add("q", "Coffee") q.Add("no_cache", "false") q.Add("api_key", "YOUR_API_KEY") req.URL.RawQuery = q.Encode() resp, _ := client.Do(req) body, _ := ioutil.ReadAll(resp.Body) log.Println(string(body)) } ``` ```csharp using System; using System.Net.Http; class Program { static async Task Main() { var client = new HttpClient(); var query = System.Web.HttpUtility.ParseQueryString(string.Empty); query["engine"] = "google_videos"; query["q"] = "Coffee"; query["no_cache"] = "false"; query["api_key"] = "YOUR_API_KEY"; var response = await client.GetAsync( $"https://serpapi.abcproxy.com/search?{query}" ); Console.WriteLine(await response.Content.ReadAsStringAsync()); } } ``` ```java import java.net.*; import java.io.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) throws Exception { String url = "https://serpapi.abcproxy.com/search" + "?engine=google_videos" + "&q=Coffee" + "&no_cache=false" + "&api_key=YOUR_API_KEY"; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream()) ); String response = in.lines().collect(Collectors.joining()); System.out.println(response); } } ``` -------------------------------- ### Client Examples for Batch Download Info Source: https://docs.abcproxy.com/zh/serp-api/youtube/youtube-shi-bin-pi-liang-xia-zai-api/youtube-pi-ci-xia-zai-ren-wu-zi-xun-api Examples demonstrating how to call the `/download/info/batch` API using cURL, Python, Node.js, and raw HTTP. ```curl curl -X POST "https://dlapi.abcproxy.com/download/info/batch" \ -H "Content-Type: application/json" \ -d '{ "batch_id": "aa3aba32-796f-4449-929e-3809d366f72c" }' ``` ```python import requests payload = { "batch_id": "aa3aba32-796f-4449-929e-3809d366f72c" } response = requests.post("https://dlapi.abcproxy.com/download/info/batch", json=payload) print(response.json()) ``` ```javascript const axios = require('axios'); const payload = { batch_id: "aa3aba32-796f-4449-929e-3809d366f72c" }; axios.post("https://dlapi.abcproxy.com/download/info/batch", payload) .then(response => console.log(response.data)); ``` ```http POST /download/info/batch HTTP/1.1 Host: https://dlapi.abcproxy.com Content-Type: application/json { "batch_id": "aa3aba32-796f-4449-929e-3809d366f72c" } ``` -------------------------------- ### Google Jobs API Request Examples Source: https://docs.abcproxy.com/serp-api/google/google-jobs-api Provides code examples for making requests to the Google Jobs API using various programming languages and tools. Each example demonstrates how to set parameters and execute a GET request. ```cURL curl -X GET "https://serpapi.abcproxy.com/search" \ -d "engine=google_jobs" \ -d "q=Barista" \ -d "no_cache=false" \ -d "api_key=YOUR_API_KEY" ``` ```Python import requests params = { "engine": "google_jobs", "q": "Barista", "no_cache": "false", "api_key": "YOUR_API_KEY" } response = requests.get("https://serpapi.abcproxy.com/search", params=params) print(response.json()) ``` ```Node.js const axios = require('axios'); const params = { engine: "google_jobs", q: "Barista", no_cache: "false", api_key: "YOUR_API_KEY" }; axios.get("https://serpapi.abcproxy.com/search", { params }) .then(response => console.log(response.data)); ``` ```HTTP GET /search?engine=google_jobs&q=Barista&no_cache=false&api_key=YOUR_API_KEY HTTP/1.1 Host: serpapi.abcproxy.com ``` ```PHP get('https://serpapi.abcproxy.com/search', [ 'query' => [ 'engine' => 'google_jobs', 'q' => 'Barista', 'no_cache' => 'false', 'api_key' => 'YOUR_API_KEY' ] ]); echo $response->getBody(); ?> ``` ```Golang package main import ( "net/http" "io/ioutil" "log" ) func main() { client := &http.Client{} req, _ := http.NewRequest("GET", "https://serpapi.abcproxy.com/search", nil) q := req.URL.Query() q.Add("engine", "google_jobs") q.Add("q", "Barista") q.Add("no_cache", "false") q.Add("api_key", "YOUR_API_KEY") req.URL.RawQuery = q.Encode() resp, _ := client.Do(req) body, _ := ioutil.ReadAll(resp.Body) log.Println(string(body)) } ``` ```C# using System; using System.Net.Http; class Program { static async Task Main() { var client = new HttpClient(); var query = System.Web.HttpUtility.ParseQueryString(string.Empty); query["engine"] = "google_jobs"; query["q"] = "Barista"; query["no_cache"] = "false"; query["api_key"] = "YOUR_API_KEY"; var response = await client.GetAsync( $"https://serpapi.abcproxy.com/search?{query}" ); Console.WriteLine(await response.Content.ReadAsStringAsync()); } } ``` ```Java import java.net.*; import java.io.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) throws Exception { String url = "https://serpapi.abcproxy.com/search" + "?engine=google_jobs" + "&q=Barista" + "&no_cache=false" + "&api_key=YOUR_API_KEY"; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream()) ); String response = in.lines().collect(Collectors.joining()); System.out.println(response); } } ``` -------------------------------- ### Access Web Content via ABCProxy Source: https://docs.abcproxy.com/advanced-proxy-solutions/web-unblocker/get-started Demonstrates how to access web content using the ABCProxy web unblocker service. It requires authentication with a username and password and allows specifying a rendering type like 'png' or 'html'. The examples show how to configure the proxy and make requests to retrieve web page content. ```cURL curl -x unblock.abcproxy.com:17610 -U "username-zone-unblock:password" -H "X-Abc-Render:png" "https://docs.abcproxy.com" -k > abc.png ``` ```Python import requests # Use your Web Unblocker credentials here. USERNAME, PASSWORD = 'YOUR_USERNAME-zone-unblock', 'YOUR_PASSWORD' # Define proxy dict. proxies = { 'http': f'http://{USERNAME}:{PASSWORD}@unblock.abcproxy.com:17610', 'https': f'http://{USERNAME}:{PASSWORD}@unblock.abcproxy.com:17610', } headers = { 'X-Abc-Render': 'html' } response = requests.get( 'https://www.abcproxy.com/', verify=False, # It is required to ignore certificate proxies=proxies, headers=headers, ) # Print result page to stdout print(response.text) ```