稳定 · 安全· 更实惠的海外IP代理方案

优选全球190+国家或地区节点资源,专注提供稳定、快速、高效的海外IP代理服务,支持HTTP、HTTPS和SOCKS5等协议,价格透明、套餐灵活,助力跨境业务轻松起步。

注:所有类型IP仅支持在境外网络环境下使用

  • 190+

    全球190+个地区

  • 9000W+

    9000W+住宅代理IP

  • <0.5s

    平均响应时长<0.5s

  • 7*24

    7*24H技术支持

探索适合您业务的完美代理

不同类型的代理满足您不同业务需求

什么是IP代理?

IP代理‌是一种通过代理服务器进行网络连接的技术,它是您的设备和互联网之间的中间人,当您通过IP代理访问网络时,用户的网络请求会先发送至代理服务器,然后由代理服务器再转发至目标网站或服务器,实现网络访问的目的。

海外住宅代理 来自全球190个地区9000多万的真实住宅代理IP。按照流量收费,不限制IP请求数,适合高并发业务使用。

起售价 12/GB

  • 正常运行时间99.99%
  • 多种提取方式
  • 平均响应时常<0.5s
  • 支持轮转和粘性会话

无限住宅代理 包含欧美等 180+热门地区,独享服务器,支持定制带宽,无限流量和IP数量。

起售价 限时优惠价:¥293/天

静态长效住宅 独享真实住宅IP,有更稳定、更长的会话时长,支持IP续费。

起售价 20.2/个

遍布全球的代理资源

拥有超过9000万的IP资源,涵盖纽约、伦敦等主要都市的核心网络节点,以及部分偏远地区的线路,能够满足多样化的代理需求。

美国 7,678,036 IPs

英国 3,566,689 IPs

德国 2,325,311 IPs

法国 1,933,978 IPs

加拿大 1,924,855 IPs

意大利 984,231 IPs

西班牙 1,707,759 IPs

其他 49,879,141 IPs

探索所有地点

辣椒代理为您提供专业的解决方案

通过有效保护您的IP信息、支持多区域访问和精准筛选数据,帮助您在隐私安全、资源获取和决策优化等方面提供综合支持,打造多功能的解决方案。

电子商务

通过使用 辣椒代理 的电子商务代理和抓取基础设施,检索公共电子商务数据,以增强竞争情报和电子商务市场了解。

  • 实现精准洞察市场
  • 保障多账号安全稳定运营
  • 提升广告投放精准度与效果
了解更多

品牌保护

利用辣椒代理进行大规模查询,帮助保护您的网络数据安全,轻松获取本地信息,验证本地化网站,开展市场调研或分析国际竞争环境。

  • 素质卓越品牌形象
  • 优化广告投放与营销效果
  • 协助防范网络风险和数据泄露
了解更多

网络安全

通过使用辣椒HTTP代理的代理池,帮助您高效收集关键数据,访问尽可能多的资源,支持智慧财产权的保护。借助全球多地内容获取洞察,助力您做出更为稳健的安全决策。

  • 防范网络恶意攻击
  • 保护隐私安全
  • 高效访问特定区域资源
了解更多

旅游和酒店

使用辣椒代理的网络智能工具检索票价、住宿情况和其他旅行数据,以获得竞争优势。收集实时航班和酒店数据,为您的旅游业务制定基于证据的策略。

  • 价格比较与订购优惠
  • 规避网络风险隐患
  • 有序规划与精准管理
了解更多

通过帮助中心了解更多集成

辣椒HTTP代理支持多种主流反检测浏览器、编程语言,以及Windows、Mac、Web等多种系统平台。

了解更多

轻松将辣椒代理集成到您的项目中

兼容各种热门程序语言和三方集成软件,通过设置基础设施的代码示例和指导快速抓取相关网页数据。

  • 代码示例
  • 兼容第三方集成软件
  • 创建并管理子用户
开始使用

C/C++ Go Node.js PHP JAVA Python


    #include 
    #include 
    #include 
    #include 
    #include "curl/curl.h"
    #pragma comment(lib, "libcurl.lib")
    using namespace std;
    static size_t write_buff_data(char* buffer, size_t size, size_t nitems, void* outstream)
    {
        memcpy(outstream, buffer, nitems * size);
        return nitems * size;
    }

    // http protocol
    int GetHTTPFunc(char* url, char* buff)
    {
        CURL* curl;
        CURLcode res;
        curl = curl_easy_init();
        if (curl)
        {
            curl_easy_setopt(curl, CURLOPT_PROXY, "http://hostname:port");     // hostname:port = us.lajiaohttp.net:2000
            curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "username:password"); // sub-account and password
            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);
            res = curl_easy_perform(curl);
            curl_easy_cleanup(curl);
            if (res == CURLE_OK) {
                return res;
            }
            else {
                printf("http status code:%d", res);
                MessageBox(NULL, TEXT("Get IP Error"), TEXT("assistant"), MB_ICONINFORMATION | MB_YESNO);
            }
        }
        return res;
    }

      // Socks5 protocol
    int GetSocks5Func(char* url, char* buff)
    {
        CURL* curl;
        CURLcode res;
        curl = curl_easy_init();
        if (curl)
        {
        curl_easy_setopt(curl, CURLOPT_PROXY, "socks5://hostname:port");    // hostname:port = us.lajiaohttp.net:2000
        curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "username:password");  //sub-account and password
        curl_easy_setopt(curl, CURLOPT_SOCKS5_AUTH, CURLAUTH_SOCKS5_USERPWD);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);     // Callback
        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);
        res = curl_easy_perform(curl);
        curl_easy_cleanup(curl);

        if (res == CURLE_OK) {
            return res;
        }
        else {
            printf("status code:%d", res);
            MessageBox(NULL, TEXT("Get IP Error"), TEXT("assistant"), MB_ICONINFORMATION | MB_YESNO);
        }
        }
        return res;
    }

    int func()
    {
        string strUrl = "ipinfo.io";
        char* buff = (char*)malloc(1024 * 1024);
        memset(buff, 0, 1024 * 1024);

        //HTTP proxies
        memset(buff, 0, 1024 * 1024);
        GetHTTPFunc((char*)strUrl.c_str(), buff);
        printf("Http results:%s", buff);

        //Socks5 proxies
        memset(buff, 0, 1024 * 1024);
        GetSocks5Func((char*)strUrl.c_str(), buff);
        printf("Socks5 result:%s", buff);
        free(buff);
        return 0;
    }

    int main()
    {
        return func();
    }
            

    package main
    import (
        "context"
        "fmt"
        "golang.org/x/net/proxy"
        "io/ioutil"
        "net"
        "net/http"
        "net/url"
        "strings"
        "time"
    )

    var ipInfoUrl = "https://ipinfo.io"

    func main() {
        var hostnamePort = "us.lajiaohttp.net:2000"
        var username = "xxxx-region-US-sid-xrwfyi678-t-10"  // xxxx = your sub-account
        var password = ""    // sub-account password
        HttpProxy(proxyIP, username, password)
        time.Sleep(time.Second * 1)
        Socks5Proxy(proxyIP, username, password)

    }
    func HttpProxy(hostnamePort, username, password string) {
        defer func() {
            if err := recover(); err != nil {
                fmt.Println(err)
            }
        }()
        urli := url.URL{}
        proxyUrl = fmt.Sprintf("http://%s", hostnamePort)


        urlProxy, _ := urli.Parse(proxyUrl)
        if username != "" && password != "" {
            urlProxy.User = url.UserPassword(username, password)
        }

        client := &http.Client{
            Transport: &http.Transport{
                Proxy: http.ProxyURL(urlProxy),
            },
        }
        req, err := http.NewRequest("GET", ipInfoUrl, nil)
        if err != nil {
            panic(err)
            return
        }
        response, err := client.Do(req)
        if err != nil {
            panic(err)
            return
        }
        defer response.Body.Close()
        body, _ := ioutil.ReadAll(response.Body)
        fmt.Println("http status = ", response.Status)
        fmt.Println("content = ", string(body))
        return
    }

    func Socks5Proxy(hostnamePort, username, password string) {

        defer func() {
            if err := recover(); err != nil {
                fmt.Println(err)
            }
        }()

        var userAuth proxy.Auth
        if username != "" && password != "" {
            userAuth.User = username
            userAuth.Password = password
        }
        dialer, err := proxy.SOCKS5("tcp", proxyUrl, &userAuth, proxy.Direct)
        if err != nil {
            panic(err)
            return
        }
        httpClient := &http.Client{
            Transport: &http.Transport{
                DialContext: func(ctx context.Context, network, addr string) (conn net.Conn, err error) {
                    return dialer.Dial(network, addr)
                },
            },
            Timeout: time.Second * 10,
        }

        resp, err := httpClient.Get(ipInfoUrl)

        if err != nil {
            panic(err)
            return
        }
        defer resp.Body.Close()
        body, _ := ioutil.ReadAll(resp.Body)
        fmt.Println("content = ",string(body))
        return
    }
            

    const SocksProxyAgent = require('socks-proxy-agent');
    const net = require('net');

    const proxyConfig = {
      host: 'us.lajiaohttp.io',
      port: 2000,
      username: 'your sub-account username',
      password: 'your sub-account password'
    };

    const agent = new SocksProxyAgent({
    ...proxyConfig,
    });

    const socket = net.connect({
      host: 'ipinfo.io',
      port: 80,
      agent
    });

    socket.on('connect', () => {
      console.log('Connect socks5 proxy.');
    });

    socket.on('error', err => {
      console.log('error = ', err);
    });
            
              
                
    $targetUrl = "https://ipinfo.io/";
    $proxyServer = "http://us.lajiaohttp.net:2000";
    $proxyUserPwd = "username:password";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $targetUrl);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_PROXYTYPE, 0); //http protocol;  sock5 protocolis is curl_setopt($ch, CURLOPT_PROXYTYPE, 5);
    curl_setopt($ch, CURLOPT_PROXY, $proxyServer);
    curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36");
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyUserPwd);
    $result = curl_exec($ch);
    $err = curl_error($ch);
    curl_close($ch);
    var_dump($err);
    var_dump($result);
              
            
              
    package demo;
    import okhttp3.Credentials;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import java.io.IOException;
    import java.net.InetSocketAddress;
    import java.net.PasswordAuthentication;
    import java.net.Proxy;

    class AutProxyJava {
    public static void main(String[] args) throws IOException {
        testWithOkHttp();
        testSocks5WithOkHttp();
    }

    public static void testWithOkHttp() throws IOException {
        String url = "https://ipinfo.io";
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("us.lajiaohttp.io", 2000));
        OkHttpClient client = new OkHttpClient().newBuilder().proxy(proxy).proxyAuthenticator((route, response) -> {
            String credential = Credentials.basic("subAccount-region-US", password); // update your sub-account and password
                return response.request().newBuilder()
            .header("Proxy-Authorization", credential).build();
        }).build();


        Request request = new Request.Builder().url(url).build();
        okhttp3.Response response = client.newCall(request).execute();
        String responseString = response.body().string();
        System.out.println(responseString);
    }

    public static void testSocks5WithOkHttp() throws IOException {
        String url = "https://ipinfo.io";
        Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("us.lajiaohttp.io", 2000));
        java.net.Authenticator.setDefault(new java.net.Authenticator() {
            private PasswordAuthentication authentication =
            new PasswordAuthentication("sub account username", "sub account password".toCharArray()); // sub-account and password

            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return authentication;
            }
        });
        OkHttpClient client = new OkHttpClient().newBuilder().proxy(proxy).build();

        Request request = new Request.Builder().url(url).build();
        okhttp3.Response response = client.newCall(request).execute();
        String responseString = response.body().string();
        System.out.println(responseString);
    }
}
              
            
              
    import urllib
    import socks
    import http.client
    from urllib.error import URLError
    import ssl
    from urllib.request import build_opener, HTTPHandler, HTTPSHandler

    def merge_dict(a, b):
    d = a.copy()
    d.update(b)
    return d

    class SocksiPyConnection(http.client.HTTPConnection):
    def __init__(self, proxytype, proxyaddr, proxyport=None, rdns=True, username=None, password=None, *args, **kwargs):
        self.proxyargs = (proxytype, proxyaddr, proxyport, rdns, username, password)
        http.client.HTTPConnection.__init__(self, *args, **kwargs)

    def connect(self):
        self.sock = socks.socksocket()
        self.sock.setproxy(*self.proxyargs)
        if type(self.timeout) in (int, float):
            self.sock.settimeout(self.timeout)
        self.sock.connect((self.host, self.port))

    class SocksiPyConnectionS(http.client.HTTPSConnection):
    def __init__(self, proxytype, proxyaddr, proxyport=None, rdns=True, username=None, password=None, *args, **kwargs):
        self.proxyargs = (proxytype, proxyaddr, proxyport, rdns, username, password)
        http.client.HTTPSConnection.__init__(self, *args, **kwargs)

    def connect(self):
        sock = socks.socksocket()
        sock.setproxy(*self.proxyargs)
        if type(self.timeout) in (int, float):
            sock.settimeout(self.timeout)
        sock.connect((self.host, self.port))
        self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file)

    class SocksiPyHandler(HTTPHandler, HTTPSHandler):
    def __init__(self, *args, **kwargs):
        self.args = args
        self.kw = kwargs
        HTTPHandler.__init__(self)

    def http_open(self, req):
        def build(host, port=None, timeout=0, **kwargs):
            kw = merge_dict(self.kw, kwargs)
            conn = SocksiPyConnection(*self.args, host=host, port=port, timeout=timeout, **kw)
            return conn

        return self.do_open(build, req)

    def https_open(self, req):
        def build(host, port=None, timeout=0, **kwargs):
            kw = merge_dict(self.kw, kwargs)
            conn = SocksiPyConnectionS(*self.args, host=host, port=port, timeout=timeout, **kw)
            return conn

        return self.do_open(build, req)

    username = "your sub-account username"
    password = "your sub-account password"
    ip = "us.lajiaohttp.io"
    port = 2000
    proxy = "socks5://{username}:{password}@{ip}:{port}".format(username=username, password=password, ip=ip, port=port)
    # socks.set_default_proxy(socks.SOCKS5, ip, port,username=username,password=password)
    # socket.socket = socks.socksocket

    url = 'https://ipinfo.io/'

    try:
        req = urllib.request.Request(url=url, headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'})
        opener = build_opener(SocksiPyHandler(socks.SOCKS5, ip, port, username=username, password=password))
        response = opener.open(req)
        print(response.read().decode('utf-8'))
    except URLError as e:
        print(e)
              
            

copy

深受客户们的信赖

来自全球各行各业超过20000精英的支持。

广告数据分析师 -苏晴-

评估广告投放效果,跨网域追踪是工作中的难题。自从用了代理后,可以精准模拟各地受众,实时追踪广告反馈,优化策略有的放矢,客户投放回报率显著提高,是我工作中必不可少的存在!

软件测试工程师 -Lucas Müller-

工作中需要测试软件在不同地区和网络环境下的兼容性及用户体验。使用辣椒代理后,可以稳定模拟多个网络环境,帮助提升测试效果,保障项目按时交付,提升整体质量与团队效率,是开发过程中非常实用的辅助工具。

金融数据分析师 -张勇杨-

分析金融市场趋势,需要整合全球数据。过去受限较多,使用辣椒代理后,可以顺畅访问各国网络,获取大量一手金融数据,提升模型预测能力,为投资决策提供有力支持。

欢迎使用辣椒代理

立即注册,免费领取 2GB

专属客户经理

立即注册
专属客户经理

专属客户经理

扫一扫添加您的专属客户经理