Whether building foundational models, improving multimodal capabilities, or strengthening vertical applications, Blurpath provides you with massive, high-quality, structured data to help improve model performance.
LLM training requires a large amount of data, and the traditional data acquisition efficiency cannot meet the requirements. No need to pay expensive traffic, truly unlimited traffic, avoid interruption of data supply due to traffic restrictions.
Avoid IP blocking and CAPTCHAs by using an extensive network of unrestricted proxies. Seamlessly integrate unrestricted proxies into the LLM training data acquisition workflow, automatically retrying and bypassing CAPTCHAs for uninterrupted data retrieval.
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;
}
AI Use Cases Benefiting from Infinite Agents
Unlimited Proxy Service pricing plans
Advantages of Blurpath proxies in AD Verification
100% ethically sourced
Blurpath sources all proxy products ethically, ensuring accurate and high-quality IP addresses.
Avoid IP or other restrictions
Bypass IP bans and CAPTCHAs, maintaining anonymity and unobstructed large-scale collection of public data.
Unmatched proxy quality
99.9% uptime and high response speed, efficiently collecting large amounts of data without delays or downtime.
Global geographic coverage
Blurpath sources all proxy products ethically, ensuring accurate and high-quality IP addresses.
User-friendly self-service dashboard
View all proxy data usage through our dashboard, create and manage sub-accounts.
Real-time customer support
24/7 quick and helpful customer support, contact us whenever you need assistance.
Incident
Blog news
Hong kong xingyun technology limited © Copyright 2024 | blurpath.com.All rights reserved
Due to policy reasons, this site proxy service does not support the use of Chinese mainland
Privacy Policy
Terms of Service
Cookie Policy
Refund Policy