[{"data":1,"prerenderedAt":1137},["ShallowReactive",2],{"site-config":3,"developers-\u002Fdevelopers\u002Fexamples\u002Fjava":163,"developer-documents":956},{"brand":4,"navigation":10,"navDropdowns":34,"headerCta":121,"footer":125,"footerBrand":147,"footerQr":150,"seoDefaults":158},{"name":5,"domain":6,"logoMark":7,"hotline":8,"serviceTime":9},"只只HTTP代理","- Zzhttp.com -","\u002Fimages\u002Ffigma\u002Fslices\u002Fauth-logo-mark.svg","138 5210 3516","周一至周天 9:00-22:00",[11,14,20,24,28,31],{"label":12,"href":13},"首页","\u002F",{"label":15,"href":16,"badge":17,"dropdown":18,"dropdownKey":19},"套餐购买","\u002Fpricing","热销",true,"packages",{"label":21,"href":22,"dropdown":18,"dropdownKey":23},"业务场景","\u002Fscenarios\u002Fecommerce","solutions",{"label":25,"href":26,"dropdown":18,"dropdownKey":27},"资源中心","\u002Fhelp","help",{"label":29,"href":30},"合作伙伴","\u002Fpartners",{"label":32,"href":33},"登录","\u002Fconsole\u002Flogin",{"packages":35,"solutions":59,"help":94},{"ariaLabel":36,"groups":37},"海外套餐购买下拉菜单",[38],{"label":15,"href":16,"items":39},[40,48,53],{"title":41,"body":42,"featured":18,"primary":43,"secondary":45},"动态住宅套餐","覆盖全球动态住宅IP，按需选择套餐。",{"label":44,"href":16},"查看套餐",{"label":46,"href":47},"进入控制台","\u002Fconsole\u002Fdynamic-buy",{"title":49,"body":50,"primary":51},"静态住宅套餐","独立实例与固定出口，支持多协议直连。",{"label":44,"href":52},"\u002Fpricing\u002Fstatic-residential",{"title":54,"body":55,"primary":56},"企业定制","提供专属资源、客户经理与技术支持。",{"label":57,"href":58},"立即定制","\u002Fenterprise-custom",{"ariaLabel":60,"groups":61},"业务场景下拉菜单",[62],{"label":21,"href":22,"items":63},[64,69,74,79,84,89],{"title":65,"body":66,"primary":67},"电商营销","支持价格监测、广告验证和多账号环境隔离。",{"label":68,"href":22},"查看方案",{"title":70,"body":71,"primary":72},"媒体矩阵","提升多账号内容发布、互动与素材分发稳定性。",{"label":68,"href":73},"\u002Fscenarios\u002Fmedia-matrix",{"title":75,"body":76,"primary":77},"舆情处理","快速采集公开舆情信息，提升响应和研判效率。",{"label":68,"href":78},"\u002Fscenarios\u002Fpublic-opinion",{"title":80,"body":81,"primary":82},"网页抓取","面向公开网页数据采集，提供稳定代理访问能力。",{"label":68,"href":83},"\u002Fscenarios\u002Fweb-scraping",{"title":85,"body":86,"primary":87},"品牌保护","监测品牌侵权、假冒和区域展示差异。",{"label":68,"href":88},"\u002Fscenarios\u002Fbrand-protection",{"title":90,"body":91,"primary":92},"旅游信息聚合","聚合机票、酒店和目的地公开信息，支撑价格对比。",{"label":68,"href":93},"\u002Fscenarios\u002Ftravel-aggregation",{"ariaLabel":95,"displayMode":96,"groups":97},"资源中心下拉菜单","all-groups",[98,112],{"label":99,"href":26,"items":100},"帮助中心",[101,107],{"title":102,"body":103,"primary":104},"代理接入教程","查看 API、账密和白名单接入说明。",{"label":105,"href":106},"查看教程","\u002Fdevelopers",{"title":108,"body":109,"primary":110},"常见问题","了解套餐、支付、提取和售后相关问题。",{"label":111,"href":26},"查看问题",{"label":113,"href":114,"items":115},"资讯中心","\u002Fnews",[116],{"title":117,"body":118,"primary":119},"新闻动态","获取产品新闻、海外代理实践、公开数据抓取方法与合作伙伴生态动态。",{"label":120,"href":114},"查看资讯",{"label":122,"href":123,"badge":124},"注册","\u002Fconsole\u002Fregister","认证赠10元",{"description":126,"groups":127,"copyright":146},"安全合规的 HTTP 代理 IP 服务",[128,131,136,139],{"title":129,"links":130},"站点导航",[12,15],{"title":132,"links":133},"全球代理",[134,135,54],"动态代理","静态代理",{"title":25,"links":137},[138,99,117],"开发者中心",{"title":140,"links":141},"关于我们",[142,143,144,145],"公司简介","服务协议","隐私协议","退款政策","© 2026 只只HTTP代理. All Rights Reserved.",{"logoMark":148,"brandName":5,"brandDomain":6,"figmaNodeId":149},"\u002Fimages\u002Ffigma\u002Fslices\u002Ffooter-logo-mark.svg","166:412",{"baseImage":151,"overlayImage":152,"phoneIcon":153,"contactDivider":154,"bottomDivider":155,"contactLabel":156,"figmaNodeId":157},"\u002Fimages\u002Ffigma\u002Fslices\u002Ffooter-qr-base@2x.png","\u002Fimages\u002Ffigma\u002Fslices\u002Ffooter-qr-overlay@2x.png","\u002Fimages\u002Ffigma\u002Fslices\u002Ffooter-phone-icon.svg","\u002Fimages\u002Ffigma\u002Fslices\u002Ffooter-contact-divider.svg","\u002Fimages\u002Ffigma\u002Fslices\u002Ffooter-bottom-divider.svg","商务合作","157:2052",{"title":159,"description":160,"siteName":5,"ogImage":161,"robots":162},"只只HTTP代理 - 稳定安全的海外 IP 方案","9000万+纯净住宅 IP，为 AI 训练、数据采集和全球业务提供稳定安全的代理方案。","\u002Fimages\u002Fseo\u002Fog-default.png","index, follow, max-image-preview:large",{"id":164,"title":165,"body":166,"description":937,"extension":938,"featured":939,"keywords":940,"meta":944,"navigation":18,"order":945,"path":946,"related":947,"schemaType":951,"seo":952,"stem":953,"updatedAt":954,"__hash__":955},"developers\u002Fdevelopers\u002Fexamples\u002Fjava.md","Java HttpClient 代理接入示例",{"type":167,"value":168,"toc":930},"minimark",[169,178,182,210,213,881,884,899,902,916,919,926],[170,171,172,173,177],"p",{},"JDK 11 及以上可直接使用标准库 ",[174,175,176],"code",{},"java.net.http.HttpClient","，无需为基础 HTTP 代理访问增加第三方客户端。",[179,180,181],"h2",{"id":181},"前置条件",[183,184,185,189,207],"ul",{},[186,187,188],"li",{},"运行环境使用 JDK 11 或更高版本。",[186,190,191,192,195,196,195,199,202,203,206],{},"通过受控环境注入 ",[174,193,194],{},"PROXY_HOST","、",[174,197,198],{},"PROXY_PORT",[174,200,201],{},"PROXY_USERNAME"," 和 ",[174,204,205],{},"PROXY_PASSWORD","。",[186,208,209],{},"代理密码只保留在进程环境或密钥服务中。",[179,211,212],{"id":212},"完整示例",[214,215,220],"pre",{"className":216,"code":217,"language":218,"meta":219,"style":219},"language-java shiki shiki-themes github-light github-dark","import java.net.Authenticator;\nimport java.net.InetSocketAddress;\nimport java.net.PasswordAuthentication;\nimport java.net.ProxySelector;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic final class ProxyExample {\n    \u002F**\n     * 使用 JDK HttpClient 通过账密代理请求公开出口检测地址。\n     *\u002F\n    public static void main(String[] args) throws Exception {\n        String proxyHost = System.getenv(\"PROXY_HOST\");\n        int proxyPort = Integer.parseInt(System.getenv(\"PROXY_PORT\"));\n        String proxyUsername = System.getenv(\"PROXY_USERNAME\");\n        char[] proxyPassword = System.getenv(\"PROXY_PASSWORD\").toCharArray();\n\n        HttpClient client = HttpClient.newBuilder()\n            .connectTimeout(Duration.ofSeconds(10))\n            .proxy(ProxySelector.of(new InetSocketAddress(proxyHost, proxyPort)))\n            .authenticator(new Authenticator() {\n                \u002F** 仅向代理服务器提供认证信息，避免响应目标站认证挑战。 *\u002F\n                @Override\n                protected PasswordAuthentication getPasswordAuthentication() {\n                    if (getRequestorType() != RequestorType.PROXY) return null;\n                    return new PasswordAuthentication(proxyUsername, proxyPassword);\n                }\n            })\n            .build();\n\n        HttpRequest request = HttpRequest.newBuilder()\n            .uri(URI.create(\"https:\u002F\u002F\u003Cpublic-test-host>\u002Fip\"))\n            .timeout(Duration.ofSeconds(30))\n            .GET()\n            .build();\n        HttpResponse\u003CString> response = client.send(\n            request,\n            HttpResponse.BodyHandlers.ofString()\n        );\n\n        if (response.statusCode() >= 400) {\n            throw new IllegalStateException(\"HTTP \" + response.statusCode());\n        }\n        System.out.println(response.body());\n    }\n}\n","java","",[174,221,222,235,243,251,259,267,275,283,291,299,305,324,331,337,343,380,404,434,453,482,487,504,528,553,571,577,586,600,630,645,651,657,667,672,687,708,727,737,746,768,774,785,791,796,819,846,852,869,875],{"__ignoreMap":219},[223,224,227,231],"span",{"class":225,"line":226},"line",1,[223,228,230],{"class":229},"szBVR","import",[223,232,234],{"class":233},"sVt8B"," java.net.Authenticator;\n",[223,236,238,240],{"class":225,"line":237},2,[223,239,230],{"class":229},[223,241,242],{"class":233}," java.net.InetSocketAddress;\n",[223,244,246,248],{"class":225,"line":245},3,[223,247,230],{"class":229},[223,249,250],{"class":233}," java.net.PasswordAuthentication;\n",[223,252,254,256],{"class":225,"line":253},4,[223,255,230],{"class":229},[223,257,258],{"class":233}," java.net.ProxySelector;\n",[223,260,262,264],{"class":225,"line":261},5,[223,263,230],{"class":229},[223,265,266],{"class":233}," java.net.URI;\n",[223,268,270,272],{"class":225,"line":269},6,[223,271,230],{"class":229},[223,273,274],{"class":233}," java.net.http.HttpClient;\n",[223,276,278,280],{"class":225,"line":277},7,[223,279,230],{"class":229},[223,281,282],{"class":233}," java.net.http.HttpRequest;\n",[223,284,286,288],{"class":225,"line":285},8,[223,287,230],{"class":229},[223,289,290],{"class":233}," java.net.http.HttpResponse;\n",[223,292,294,296],{"class":225,"line":293},9,[223,295,230],{"class":229},[223,297,298],{"class":233}," java.time.Duration;\n",[223,300,302],{"class":225,"line":301},10,[223,303,304],{"emptyLinePlaceholder":18},"\n",[223,306,308,311,314,317,321],{"class":225,"line":307},11,[223,309,310],{"class":229},"public",[223,312,313],{"class":229}," final",[223,315,316],{"class":229}," class",[223,318,320],{"class":319},"sScJk"," ProxyExample",[223,322,323],{"class":233}," {\n",[223,325,327],{"class":225,"line":326},12,[223,328,330],{"class":329},"sJ8bj","    \u002F**\n",[223,332,334],{"class":225,"line":333},13,[223,335,336],{"class":329},"     * 使用 JDK HttpClient 通过账密代理请求公开出口检测地址。\n",[223,338,340],{"class":225,"line":339},14,[223,341,342],{"class":329},"     *\u002F\n",[223,344,346,349,352,355,358,361,364,367,371,374,377],{"class":225,"line":345},15,[223,347,348],{"class":229},"    public",[223,350,351],{"class":229}," static",[223,353,354],{"class":229}," void",[223,356,357],{"class":319}," main",[223,359,360],{"class":233},"(",[223,362,363],{"class":229},"String",[223,365,366],{"class":233},"[] ",[223,368,370],{"class":369},"s4XuR","args",[223,372,373],{"class":233},") ",[223,375,376],{"class":229},"throws",[223,378,379],{"class":233}," Exception {\n",[223,381,383,386,389,392,395,397,401],{"class":225,"line":382},16,[223,384,385],{"class":233},"        String proxyHost ",[223,387,388],{"class":229},"=",[223,390,391],{"class":233}," System.",[223,393,394],{"class":319},"getenv",[223,396,360],{"class":233},[223,398,400],{"class":399},"sZZnC","\"PROXY_HOST\"",[223,402,403],{"class":233},");\n",[223,405,407,410,413,415,418,421,424,426,428,431],{"class":225,"line":406},17,[223,408,409],{"class":229},"        int",[223,411,412],{"class":233}," proxyPort ",[223,414,388],{"class":229},[223,416,417],{"class":233}," Integer.",[223,419,420],{"class":319},"parseInt",[223,422,423],{"class":233},"(System.",[223,425,394],{"class":319},[223,427,360],{"class":233},[223,429,430],{"class":399},"\"PROXY_PORT\"",[223,432,433],{"class":233},"));\n",[223,435,437,440,442,444,446,448,451],{"class":225,"line":436},18,[223,438,439],{"class":233},"        String proxyUsername ",[223,441,388],{"class":229},[223,443,391],{"class":233},[223,445,394],{"class":319},[223,447,360],{"class":233},[223,449,450],{"class":399},"\"PROXY_USERNAME\"",[223,452,403],{"class":233},[223,454,456,459,462,464,466,468,470,473,476,479],{"class":225,"line":455},19,[223,457,458],{"class":229},"        char",[223,460,461],{"class":233},"[] proxyPassword ",[223,463,388],{"class":229},[223,465,391],{"class":233},[223,467,394],{"class":319},[223,469,360],{"class":233},[223,471,472],{"class":399},"\"PROXY_PASSWORD\"",[223,474,475],{"class":233},").",[223,477,478],{"class":319},"toCharArray",[223,480,481],{"class":233},"();\n",[223,483,485],{"class":225,"line":484},20,[223,486,304],{"emptyLinePlaceholder":18},[223,488,490,493,495,498,501],{"class":225,"line":489},21,[223,491,492],{"class":233},"        HttpClient client ",[223,494,388],{"class":229},[223,496,497],{"class":233}," HttpClient.",[223,499,500],{"class":319},"newBuilder",[223,502,503],{"class":233},"()\n",[223,505,507,510,513,516,519,521,525],{"class":225,"line":506},22,[223,508,509],{"class":233},"            .",[223,511,512],{"class":319},"connectTimeout",[223,514,515],{"class":233},"(Duration.",[223,517,518],{"class":319},"ofSeconds",[223,520,360],{"class":233},[223,522,524],{"class":523},"sj4cs","10",[223,526,527],{"class":233},"))\n",[223,529,531,533,536,539,542,544,547,550],{"class":225,"line":530},23,[223,532,509],{"class":233},[223,534,535],{"class":319},"proxy",[223,537,538],{"class":233},"(ProxySelector.",[223,540,541],{"class":319},"of",[223,543,360],{"class":233},[223,545,546],{"class":229},"new",[223,548,549],{"class":319}," InetSocketAddress",[223,551,552],{"class":233},"(proxyHost, proxyPort)))\n",[223,554,556,558,561,563,565,568],{"class":225,"line":555},24,[223,557,509],{"class":233},[223,559,560],{"class":319},"authenticator",[223,562,360],{"class":233},[223,564,546],{"class":229},[223,566,567],{"class":319}," Authenticator",[223,569,570],{"class":233},"() {\n",[223,572,574],{"class":225,"line":573},25,[223,575,576],{"class":329},"                \u002F** 仅向代理服务器提供认证信息，避免响应目标站认证挑战。 *\u002F\n",[223,578,580,583],{"class":225,"line":579},26,[223,581,582],{"class":233},"                @",[223,584,585],{"class":229},"Override\n",[223,587,589,592,595,598],{"class":225,"line":588},27,[223,590,591],{"class":229},"                protected",[223,593,594],{"class":233}," PasswordAuthentication ",[223,596,597],{"class":319},"getPasswordAuthentication",[223,599,570],{"class":233},[223,601,603,606,609,612,615,618,621,624,627],{"class":225,"line":602},28,[223,604,605],{"class":229},"                    if",[223,607,608],{"class":233}," (",[223,610,611],{"class":319},"getRequestorType",[223,613,614],{"class":233},"() ",[223,616,617],{"class":229},"!=",[223,619,620],{"class":233}," RequestorType.PROXY) ",[223,622,623],{"class":229},"return",[223,625,626],{"class":523}," null",[223,628,629],{"class":233},";\n",[223,631,633,636,639,642],{"class":225,"line":632},29,[223,634,635],{"class":229},"                    return",[223,637,638],{"class":229}," new",[223,640,641],{"class":319}," PasswordAuthentication",[223,643,644],{"class":233},"(proxyUsername, proxyPassword);\n",[223,646,648],{"class":225,"line":647},30,[223,649,650],{"class":233},"                }\n",[223,652,654],{"class":225,"line":653},31,[223,655,656],{"class":233},"            })\n",[223,658,660,662,665],{"class":225,"line":659},32,[223,661,509],{"class":233},[223,663,664],{"class":319},"build",[223,666,481],{"class":233},[223,668,670],{"class":225,"line":669},33,[223,671,304],{"emptyLinePlaceholder":18},[223,673,675,678,680,683,685],{"class":225,"line":674},34,[223,676,677],{"class":233},"        HttpRequest request ",[223,679,388],{"class":229},[223,681,682],{"class":233}," HttpRequest.",[223,684,500],{"class":319},[223,686,503],{"class":233},[223,688,690,692,695,698,701,703,706],{"class":225,"line":689},35,[223,691,509],{"class":233},[223,693,694],{"class":319},"uri",[223,696,697],{"class":233},"(URI.",[223,699,700],{"class":319},"create",[223,702,360],{"class":233},[223,704,705],{"class":399},"\"https:\u002F\u002F\u003Cpublic-test-host>\u002Fip\"",[223,707,527],{"class":233},[223,709,711,713,716,718,720,722,725],{"class":225,"line":710},36,[223,712,509],{"class":233},[223,714,715],{"class":319},"timeout",[223,717,515],{"class":233},[223,719,518],{"class":319},[223,721,360],{"class":233},[223,723,724],{"class":523},"30",[223,726,527],{"class":233},[223,728,730,732,735],{"class":225,"line":729},37,[223,731,509],{"class":233},[223,733,734],{"class":319},"GET",[223,736,503],{"class":233},[223,738,740,742,744],{"class":225,"line":739},38,[223,741,509],{"class":233},[223,743,664],{"class":319},[223,745,481],{"class":233},[223,747,749,752,754,757,759,762,765],{"class":225,"line":748},39,[223,750,751],{"class":233},"        HttpResponse\u003C",[223,753,363],{"class":229},[223,755,756],{"class":233},"> response ",[223,758,388],{"class":229},[223,760,761],{"class":233}," client.",[223,763,764],{"class":319},"send",[223,766,767],{"class":233},"(\n",[223,769,771],{"class":225,"line":770},40,[223,772,773],{"class":233},"            request,\n",[223,775,777,780,783],{"class":225,"line":776},41,[223,778,779],{"class":233},"            HttpResponse.BodyHandlers.",[223,781,782],{"class":319},"ofString",[223,784,503],{"class":233},[223,786,788],{"class":225,"line":787},42,[223,789,790],{"class":233},"        );\n",[223,792,794],{"class":225,"line":793},43,[223,795,304],{"emptyLinePlaceholder":18},[223,797,799,802,805,808,810,813,816],{"class":225,"line":798},44,[223,800,801],{"class":229},"        if",[223,803,804],{"class":233}," (response.",[223,806,807],{"class":319},"statusCode",[223,809,614],{"class":233},[223,811,812],{"class":229},">=",[223,814,815],{"class":523}," 400",[223,817,818],{"class":233},") {\n",[223,820,822,825,827,830,832,835,838,841,843],{"class":225,"line":821},45,[223,823,824],{"class":229},"            throw",[223,826,638],{"class":229},[223,828,829],{"class":319}," IllegalStateException",[223,831,360],{"class":233},[223,833,834],{"class":399},"\"HTTP \"",[223,836,837],{"class":229}," +",[223,839,840],{"class":233}," response.",[223,842,807],{"class":319},[223,844,845],{"class":233},"());\n",[223,847,849],{"class":225,"line":848},46,[223,850,851],{"class":233},"        }\n",[223,853,855,858,861,864,867],{"class":225,"line":854},47,[223,856,857],{"class":233},"        System.out.",[223,859,860],{"class":319},"println",[223,862,863],{"class":233},"(response.",[223,865,866],{"class":319},"body",[223,868,845],{"class":233},[223,870,872],{"class":225,"line":871},48,[223,873,874],{"class":233},"    }\n",[223,876,878],{"class":225,"line":877},49,[223,879,880],{"class":233},"}\n",[179,882,883],{"id":883},"预期结果",[183,885,886,889,892],{},[186,887,888],{},"客户端先连接代理，再为 HTTPS 目标建立隧道。",[186,890,891],{},"响应正文显示代理出口，状态码小于 400。",[186,893,894,895,898],{},"长生命周期服务应复用 ",[174,896,897],{},"HttpClient","，保留连接池收益。",[179,900,901],{"id":901},"错误处理",[183,903,904,907,913],{},[186,905,906],{},"407 表示代理认证未通过，检查用户名、密码和权益。",[186,908,909,912],{},[174,910,911],{},"HttpConnectTimeoutException"," 表示连接阶段超过 10 秒。",[186,914,915],{},"目标状态码和代理连接异常必须分开记录。",[179,917,918],{"id":918},"安全提示",[170,920,921,922,925],{},"不要手工写入 ",[174,923,924],{},"Proxy-Authorization","，也不要在异常日志中输出环境变量。代理身份变化时创建新的客户端，避免旧连接继续携带原认证状态。",[927,928,929],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":219,"searchDepth":245,"depth":245,"links":931},[932,933,934,935,936],{"id":181,"depth":237,"text":181},{"id":212,"depth":237,"text":212},{"id":883,"depth":237,"text":883},{"id":901,"depth":237,"text":901},{"id":918,"depth":237,"text":918},"使用 JDK HttpClient、ProxySelector、代理认证和超时完成 HTTPS 请求。","md",false,[941,897,942,943],"Java","ProxySelector","代理认证",{},"90","\u002Fdevelopers\u002Fexamples\u002Fjava",[948,949,950],"\u002Fdevelopers\u002Fexamples\u002Fgo","\u002Fdevelopers\u002Fproxy\u002Fconnection-best-practices","\u002Fdevelopers\u002Ferrors\u002Fproxy-407","HowTo",{"title":165,"description":937},"developers\u002Fexamples\u002Fjava","2026-07-31","kDPY5I8uYz-nXsxvXnTBt21ldgqPgpb7v2e3KRFEE_M",[957,961,966,971,975,980,984,988,993,998,1003,1008,1013,1017,1020,1024,1028,1032,1036,1040,1044,1048,1052,1056,1061,1066,1070,1074,1078,1083,1087,1091,1095,1100,1104,1108,1113,1117,1120,1125,1128,1132,1136],{"path":958,"title":959,"description":960,"order":524,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fapi\u002Fextract","API 提取代理地址","概述 API 提取的来源白名单、登录态 POST、无登录态 GET、参数与返回结果。",{"path":962,"title":963,"description":964,"order":524,"updatedAt":965,"featured":18},"\u002Fdevelopers\u002Fauthentication\u002Foverview","认证模型总览","区分控制台登录态、账户 API 令牌、来源 IPv4 白名单和代理账密四种认证层，避免凭据错用。","2026-08-07",{"path":967,"title":968,"description":969,"order":524,"updatedAt":970,"featured":939},"\u002Fdevelopers\u002Fchangelog","文档更新记录","记录帮助中心和开发者中心中影响接入行为、内容结构与示例的重要更新。","2026-09-04",{"path":972,"title":973,"description":974,"order":524,"updatedAt":965,"featured":18},"\u002Fdevelopers\u002Ferrors\u002Ferror-codes","常见错误码与处理建议","汇总实名、白名单、来源网络、认证和出口路由相关业务码及恢复方式。",{"path":976,"title":977,"description":978,"order":524,"updatedAt":979,"featured":18},"\u002Fdevelopers\u002Fexamples\u002Fcurl","curl 代理接入示例","使用占位凭据分别演示 HTTP\u002FHTTPS CONNECT 和 SOCKS5 TCP 请求。","2026-08-02",{"path":981,"title":982,"description":983,"order":524,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fgetting-started\u002Fquickstart","开发者快速开始","从实名认证、选择账密或 API 提取，到使用占位配置完成第一个代理请求。",{"path":985,"title":986,"description":987,"order":524,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fproxy\u002Faccount-auth","账密认证接入","说明账密代理配置生成、地区和会话选择、客户端字段、安全存储及来源限制。",{"path":989,"title":990,"description":991,"order":992,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fexamples\u002Fphp","PHP cURL 代理接入示例","使用 PHP cURL 扩展、账密环境变量和连接超时完成代理请求。","100",{"path":994,"title":995,"description":996,"order":997,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fexamples\u002Fcsharp","C# HttpClient 代理接入示例","使用 .NET HttpClient、WebProxy、代理账密和请求超时完成 HTTPS 访问。","110",{"path":999,"title":1000,"description":1001,"order":1002,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fexamples\u002Frust","Rust reqwest 代理接入示例","使用 reqwest Proxy、账密认证、异步客户端和超时完成代理请求。","120",{"path":1004,"title":1005,"description":1006,"order":1007,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fexamples\u002Fpostman","Postman 代理接入示例","在 Postman 桌面应用中配置自定义代理、账密认证并验证 HTTPS 出口。","130",{"path":1009,"title":1010,"description":1011,"order":1012,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fapi\u002Fextract-post","登录态 POST 提取接口","说明控制台登录态批量提取的请求字段、校验顺序、幂等和返回结果。","20",{"path":1014,"title":1015,"description":1016,"order":1012,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fauthentication\u002Fconsole-session","控制台登录态如何用于 API 请求？","说明同源控制台 Cookie、CSRF 防护、登录态 POST 提取和服务端调用边界。",{"path":950,"title":1018,"description":1019,"order":1012,"updatedAt":954,"featured":18},"开发者如何排查 407？","从代理协议、认证头、完整用户名、子账号状态和来源白名单定位 407。",{"path":1021,"title":1022,"description":1023,"order":1012,"updatedAt":979,"featured":18},"\u002Fdevelopers\u002Fexamples\u002Fpython","Python Requests 代理接入示例","使用 requests 读取环境变量、设置 HTTP 代理、超时并进行有限错误处理。",{"path":1025,"title":1026,"description":1027,"order":1012,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fgetting-started\u002Fenvironment-checklist","开发环境接入检查清单","在编码前检查运行网络、账号权益、代理协议、超时、日志和凭据存储。",{"path":1029,"title":1030,"description":1031,"order":1012,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fproxy\u002Fprotocol-selection","代理协议选择","从 HTTP 客户端、HTTPS CONNECT、SOCKS5 TCP 和 DNS 行为选择接入协议。",{"path":1033,"title":1034,"description":1035,"order":724,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fapi\u002Fextract-get","来源白名单 GET 提取接口","说明无登录态 GET 提取如何按真实来源 IPv4 解析账号并返回 JSON 或 TXT。",{"path":1037,"title":1038,"description":1039,"order":724,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fauthentication\u002Fsource-ip-whitelist","来源 IPv4 白名单认证","说明无登录态 GET 提取与共享端口如何按真实来源 IPv4 识别账号归属。",{"path":1041,"title":1042,"description":1043,"order":724,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Ferrors\u002Ftimeout-and-reset","超时与连接重置排查","按 DNS、TCP、CONNECT、TLS、请求和读取阶段诊断 timeout 与 ECONNRESET。",{"path":1045,"title":1046,"description":1047,"order":724,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fexamples\u002Fpython-httpx","Python HTTPX 代理接入示例","使用 HTTPX Client、账密环境变量和分层超时完成同步代理请求。",{"path":1049,"title":1050,"description":1051,"order":724,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fgetting-started\u002Fverify-with-curl","使用 curl 验证代理接入","通过 HTTP、HTTPS CONNECT 和 SOCKS5 TCP 最小命令验证认证、出口和 DNS。",{"path":1053,"title":1054,"description":1055,"order":724,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fproxy\u002Fregion-parameters","账密代理地区参数","说明全球、洲随机区域、国家和部分州省的选择、签名配置和验证规则。",{"path":1057,"title":1058,"description":1059,"order":1060,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fapi\u002Fparameters","API 提取请求参数","列出数量、地区、协议、返回格式、分隔符及明确不接受的账密会话参数。","40",{"path":1062,"title":1063,"description":1064,"order":1060,"updatedAt":1065,"featured":939},"\u002Fdevelopers\u002Fauthentication\u002Fapi-token","API 令牌认证","说明账户级 API 令牌的生成、查询参数认证、轮换和日志安全边界。","2026-08-08",{"path":1067,"title":1068,"description":1069,"order":1060,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Ferrors\u002Fdns-and-tls","DNS 与 TLS 故障排查","区分网关解析、目标解析、CONNECT、证书链、SNI 和系统时间问题。",{"path":1071,"title":1072,"description":1073,"order":1060,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fexamples\u002Fpython-aiohttp","Python aiohttp 异步代理接入示例","使用 aiohttp ClientSession、代理认证和异步超时完成并发代理请求。",{"path":1075,"title":1076,"description":1077,"order":1060,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fproxy\u002Frotation-mode","轮换代理模式","解释新 TCP 连接的出口选择、连接复用影响、有限重试和并发策略。",{"path":1079,"title":1080,"description":1081,"order":1082,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fapi\u002Fresponse-formats","API 提取返回格式","说明 JSON、TXT、IP:PORT、分隔符、随机顺序和结果消费方式。","50",{"path":1084,"title":1085,"description":1086,"order":1082,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Ferrors\u002Flayered-diagnostics","代理请求分层诊断流程","用 DNS、TCP、认证、转发、TLS 和目标响应六层模型定位接入故障。",{"path":1088,"title":1089,"description":1090,"order":1082,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fexamples\u002Fselenium","Selenium 代理接入示例","使用 API 提取的来源白名单代理地址启动浏览器，并验证出口与任务隔离。",{"path":1092,"title":1093,"description":1094,"order":1082,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fproxy\u002Fsticky-mode","粘性代理模式","说明 1–180 分钟粘性会话、完整用户名复用、并行隔离和出口变化恢复。",{"path":1096,"title":1097,"description":1098,"order":1099,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fapi\u002Fregion-values","API 提取地区值","说明国家与全球值的来源、实际国家记录、验证方式和账密地区参数差异。","60",{"path":1101,"title":1102,"description":1103,"order":1099,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fexamples\u002Fnodejs","Node.js 代理接入示例","使用 undici ProxyAgent、环境变量、AbortSignal 超时和安全日志完成代理请求。",{"path":1105,"title":1106,"description":1107,"order":1099,"updatedAt":954,"featured":939},"\u002Fdevelopers\u002Fproxy\u002Fsession-isolation","如何隔离并行代理会话？","按任务、地区、子账号和粘性配置隔离连接池，避免凭据及状态串用。",{"path":1109,"title":1110,"description":1111,"order":1112,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fapi\u002Frequest-id","requestId 与幂等处理","说明登录态 POST 提取的请求所有权、重复恢复、参数冲突和并发提交规则。","70",{"path":1114,"title":1115,"description":1116,"order":1112,"updatedAt":954,"featured":18},"\u002Fdevelopers\u002Fexamples\u002Fplaywright","Playwright 代理接入示例","在浏览器启动时配置账密代理，隔离上下文并验证出口地区。",{"path":949,"title":1118,"description":1119,"order":1112,"updatedAt":954,"featured":18},"代理连接与复用最佳实践","为超时、连接池、并发、重试、幂等和日志建立稳定的生产接入策略。",{"path":1121,"title":1122,"description":1123,"order":1124,"updatedAt":965,"featured":18},"\u002Fdevelopers\u002Fapi\u002Fretry-and-rate-limit","API 限流与重试策略","按状态码、幂等性和错误类型设计有限退避，避免重复授权和请求风暴。","80",{"path":948,"title":1126,"description":1127,"order":1124,"updatedAt":954,"featured":18},"Go 代理接入示例","使用 net\u002Fhttp、环境变量、Transport 和请求超时完成 HTTP 代理访问。",{"path":1129,"title":1130,"description":1131,"order":1124,"updatedAt":970,"featured":18},"\u002Fdevelopers\u002Fproxy\u002Fstatic-residential","静态住宅协议接入","使用实例端点和独立凭据接入HTTP、HTTPS CONNECT与SOCKS5，并说明安全和重试边界。",{"path":1133,"title":1134,"description":1135,"order":945,"updatedAt":1065,"featured":18},"\u002Fdevelopers\u002Fapi\u002Fip-whitelists","IP 白名单 API","使用账户 API 令牌查询、批量新增和按 IP 批量删除账户白名单。",{"path":946,"title":165,"description":937,"order":945,"updatedAt":954,"featured":939},1789051527763]