Multiple proxy solutions
Dynamic Residential Proxies
Lowest Price
$0 /GB
Relying on the anonymity of residential proxies. We offer metered service options to meet the needs of different users.
√ Hundreds of millions of IPs around the world
√ HTTP(S) & SOCKS5 protocol support
√ Unlimited concurrent sessions and access requests
Unlimited Residential Proxies
Lowest Price
$0 /Day
Real residential IP resources, unlimited IP and traffic, support random and sticky rotation.
√ 99.9% IP availability
√ Unlimited IPs and traffic
√ Bulk proxy generation
Lowest Price
$0 /IP
ISP Proxy
High-quality ISP proxy services from trusted internet service providers
√ Reliable network provider
√ The IP address is renewable
√ Covering 190+ regions around the world
Lowest Price
$0 /IP
Exclusive Datacenter Proxies
The high-performance data center IP ensures high availability and low latency of the network and achieves excellent connectivity stability.
√ Stable data center servers
√ The IP address is renewable
√ Whitelist/Credential Authentication
Lowest Price
$0 /IP
Socks5 Proxy
Residential proxies that are charged by the number of IPs, the most cost-effective package
√ Unlimited Data Consumption & Unlimited Visits
√ Powerful desktop software
√ Covering 190+ regions around the world
What are the advantages of Blurpath?
Global IP resource pool, easy access to public data
Proxy Use Cases
Detailed API documentation
Our proxies are compatible with various proxy software and popular programming languages, so you can quickly start network data acquisition work.
// demo.cpp : Define the entrance for the console application.
//
#include "stdafx.h"
#include "curl/curl.h"
#pragma comment(lib, "libcurl.lib")
//Under the CURLOPT_WRITEFUNCTION setting property, use the callback write_buff_data for processing
static size_t write_buff_data(char *buffer, size_t size, size_t nitems, void *outstream)
{
memcpy(outstream, buffer, nitems*size);
return nitems*size;
}
/*
Use http proxy
*/
int GetUrlHTTP(char *url, char *buff)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_PROXY,"http://proxy host:port");//Set proxy
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);//void* buff will be passed to the fourth parameter of the callback function write_buff_data void* outstream
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);//Under the CURLOPT_WRITEFUNCTION setting property, use the callback write_buff_data for processing
curl_easy_setopt(curl, CURLOPT_URL, url);//Set domain to visit
/* Abort if speed drops below 50 bytes/second for 10 seconds */
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);
curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);/*Highest download speed*/
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
if (res == CURLE_OK){
return res;
}else {
printf("Error code:%d\n", res);
MessageBox(NULL, TEXT("Error in getting IP"), TEXT("assistant"), MB_ICONINFORMATION | MB_YESNO);
}
}
return res;
}
/*
Use socks5 proxy
*/
int GetUrlSocks5(char *url, char *buff)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_PROXY, "socks5://Proxy host:port");//Set proxy
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);
curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);/*Highest download speed*/
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
if (res == CURLE_OK) {
return res;
}
else {
printf("Error code:%d\n", res);
MessageBox(NULL, TEXT("Error in getting IP"), TEXT("assistant"), MB_ICONINFORMATION | MB_YESNO);
}
}
return res;
}
/*
Not use proxy
*/
int GetUrl(char *url, char *buff)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);
curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);/*Highest download speed*/
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
if (res == CURLE_OK)
{
return res;
}
else {
printf("Error code:%d\n", res);
MessageBox(NULL, TEXT("Error in getting IP"), TEXT("assistant"), MB_ICONINFORMATION | MB_YESNO);
}
}
return res;
}
int main()
{
char *buff=(char*)malloc(1024*1024);
memset(buff, 0, 1024 * 1024);
GetUrl("http://baidu.com", buff);
printf("Not use proxy:%s\n", buff);
memset(buff, 0, 1024 * 1024);
GetUrlHTTP("http://baidu.com", buff);
printf("result of http:%s\n", buff);
memset(buff, 0,1024 * 1024);
GetUrlSocks5("http://baidu.com", buff);
printf("result of socks5:%s\n", buff);
free(buff);
Sleep(10 * 1000);//Wait 10 seconds to exit
return 0;
}
Incident
Blog news