分享页面
已经找到“” 的记录1748条
Python自动化测试Selenium+chrome连接代理ip(账密模式)
此示例Python使用Selenium调用Chrome浏览器并通过代理进行自动化测试。 > 请注意:目前最高支持到Chrome 129.0.6614.3,后续版本暂不支持 - 代码示例 ```python import time import string import zipfile from selenium import webdriver from selenium.webdriver.chrome.service import Service targetURL = "http://myip.ipip.net" # 访问的目标站点 proxyHost = "61.171.76.145" # 代理IP地址 proxyPort = "50353" # 代理IP端口号 authKey = "x" # 代理IP的AuthKey password = "x" # 代理IP的AuthPwd def create_proxy_auth_extension(proxy_host, proxy_port, proxy_username, proxy_password, scheme='http', plugin_path=None): if plugin_path is None: plugin_path = r'./{}_{}_qgnet_proxyauth_plugin.zip'.format(proxy_username, proxy_password) manifest_json = """ { "version": "1.0.0", "manifest_version": 2, "name": "Chrome Proxy", "permissions": [ "proxy", "tabs", "unlimitedStorage", "storage", "", "webRequest", "webRequestBlocking" ], "background": { "scripts": ["background.js"] }, "minimum_chrome_version":"22.0.0" } """ background_js = string.Template( """ var config = { mode: "fixed_servers", rules: { singleProxy: { scheme: "${scheme}", host: "${host}", port: parseInt(${port}) }, bypassList: ["localhost"] } }; chrome.proxy.settings.set({value: config, scope: "regular"}, function() {}); function callbackFn(details) { return { authCredentials: { username: "${username}", password: "${password}" } }; } chrome.webRequest.onAuthRequired.addListener( callbackFn, {urls: [""]}, ['blocking'] ); """ ).substitute( host=proxy_host, port=proxy_port, username=proxy_username, password=proxy_password, scheme=scheme, ) with zipfile.ZipFile(plugin_path, 'w') as zp: zp.writestr("manifest.json", manifest_json) zp.writestr("background.js", background_js) return plugin_path if __name__ == '__main__': # 此处指定您的webdriver路径,版本需要跟您所使用的Chrome版本一致, # 下载地址https://registry.npmmirror.com/binary.html?path=chromedriver/ driver_location = "./chromedriver/chromedriver_v106_win.exe" proxy_auth_plugin_path = create_proxy_auth_extension( proxy_host=proxyHost, proxy_port=proxyPort, proxy_username=authKey, proxy_password=password) option = webdriver.ChromeOptions() option.add_argument("--start-maximized") # 窗口最大化运行 option.add_extension(proxy_auth_plugin_path) # 添加proxy插件 # 此处selenium版本为4.8.0 driver = webdriver.Chrome(service=Service(driver_location), options=option) driver.get(targetURL) time.sleep(100) driver.quit() ``` - 运行结果 [![](https://cos.qg.net/uploads/image/20220916/d1a8b394a7d64cdd99b120803390ac56.png)](https://cos.qg.net/uploads/image/20220916/d1a8b394a7d64cdd99b120803390ac56.png)
Python自动化测试Selenium+chrome连接代理ip(白名单模式)
此示例Python使用Selenium调用Chrome浏览器并通过代理进行自动化测试。 > 请注意:目前最高支持到Chrome 129.0.6614.3,后续版本暂不支持 - 代码示例 ```python from selenium import webdriver from selenium.webdriver.chrome.service import Service targetURL = "http://myip.ipip.net" #访问的目标站点 proxyAddr = "您的代理IP:端口号" if __name__ == '__main__': browser_location = r".\Chrome\chrome.exe" #指定浏览器路径位置 driver_location = r".\Chrome\chromedriver.exe" #指定Driver路径位置 option = webdriver.ChromeOptions() option.binary_location = browser_location #设置浏览器位置 option.add_argument("--start-maximized") #窗口最大化运行 option.add_argument('--proxy-server=%(server)s' % {"server": proxyAddr}) driver = webdriver.Chrome(service=Service(driver_location), options=option) driver.get(targetURL) print(driver.page_source) ``` - 运行结果 ![img](https://cos.qg.net/uploads/image/20220916/5f246dc526c528e6223b04922134ef97.png)
长效代理-查询资源地区
## 1. 接口描述 接口请求域名: longterm.proxy.qg.net。 本接口 (/resources) 用于长效代理产品查询资源地区的接口。 默认接口请求频率限制:60次/分钟。 推荐使用调试工具进行调试,[调试工具](https://www.qg.net/tools/IPdebug.html)。 ## 2. 输入参数 | 参数名称 | 必选 | 类型 | 描述 | | -------- | ---- | ------ | ------------------------ | | key | 是 | String | 公共参数,产品唯一标识。 | ## 3. 输出参数 | 参数名称 | 类型 | 描述 | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | code | String | 请求状态码。 | | data | Array of [ResourceAreaISP](https://www.qg.net/doc/1839.html) | 资源地区列表。 | | request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 | ## 4. 示例 #### 输入示例 ``` GET https://longterm.proxy.qg.net/resources?key=<您的key信息> ``` #### 输出示例 ```json { "code": "SUCCESS", "data": [ { "area": "福建省泉州市", "area_code": 350500, "isp": "电信", "isp_code": 1, "available": false }, { "area": "河南省商丘市", "area_code": 411400, "isp": "电信", "isp_code": 1, "available": true } ],     "request_id": "51024a8b-a8a5-4e78-9301-cb500a8c083e" } ``` ## 5. 错误码 | 错误码 | 描述 | | ---------------------- | ------------------------------------------------------------ | | INTERNAL_ERROR | 系统内部异常。 | | INVALID_PARAMETER | 参数错误(包含参数格式、类型等错误)。 | | INVALID_KEY | Key不存在或已过期。 | | UNAVAILABLE_KEY | Key不可用,已过期或被封禁 | | ACCESS_DENY | Key没有此接口的权限。 | | API_AUTH_DENY | Api授权不通过,请检查[Api鉴权配置](https://www.qg.net/user/proxyIpManage)。 | | KEY_BLOCK | Key被封禁。 | | REQUEST_LIMIT_EXCEEDED | 请求频率超出限制。 |
长效代理-查询通道数接口
## 1. 接口描述 接口请求域名: longterm.proxy.qg.net。 本接口 (/channels) 用于长效代理产品通道数查询的接口。 默认接口请求频率限制:60次/分钟。 推荐使用调试工具进行调试,[调试工具](https://www.qg.net/tools/IPdebug.html)。 ## 2. 输入参数 | 参数名称 | 必选 | 类型 | 描述 | | -------- | ---- | ------ | ------------------------ | | key | 是 | String | 公共参数,产品唯一标识。 | ## 3. 输出参数 | 参数名称 | 类型 | 描述 | | ---------- | ------- | ------------------------------------------------------------ | | code | String | 请求状态码。 | | data.toal | Integer | key的通道总数。 | | data.idle | Integer | 空闲通道数。 | | request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 | ## 4. 示例 #### 输入示例 ``` GET https://longterm.proxy.qg.net/channels?key=<您的key信息> ``` #### 输出示例 ```json { "code": "SUCCESS", "data": { "total": 10, "idle": 5 }, "request_id": "83158ebe-be6c-40f7-a158-688741083edc" } ``` ## 5. 错误码 | 错误码 | 描述 | | ---------------------- | ------------------------------------------------------------ | | INTERNAL_ERROR | 系统内部异常。 | | INVALID_PARAMETER | 参数错误(包含参数格式、类型等错误)。 | | INVALID_KEY | Key不存在或已过期。 | | UNAVAILABLE_KEY | Key不可用,已过期或被封禁 | | ACCESS_DENY | Key没有此接口的权限。 | | API_AUTH_DENY | Api授权不通过,请检查[Api鉴权配置](https://www.qg.net/user/proxyIpManage)。 | | KEY_BLOCK | Key被封禁。 | | REQUEST_LIMIT_EXCEEDED | 请求频率超出限制。 |
长效代理-释放IP资源接口
## 1. 接口描述 接口请求域名: longterm.proxy.qg.net。 本接口 (/delete) 是用于长效代理-静态型产品释放IP资源的接口。(动态型无此功能) 默认接口请求频率限制:每通道一周有两次释放机会。 推荐使用调试工具进行调试,[调试工具](https://www.qg.net/tools/IPdebug.html)。 ## 2. 输入参数 | 参数名称 | 必选 | 类型 | 描述 | | -------- | ---- | ------ | ------------------------------------------------------------ | | key | 是 | String | 公共参数,产品唯一标识。 | | task | 否 | String | 按提取批次释放。支持批量释放,用逗号隔开。比如:Z5p2DKKCSyhocKEa,xsQGWfoaX99WcYnU。 | | ip | 否 | String | 按IP释放。支持批量释放,用逗号隔开。比如:129.123.7.89,23.11.112.51。 | 注意:task和ip必选其一。如果需要释放全部IP,用task='*'即可。 ## 3. 输出参数 | 参数名称 | 类型 | 描述 | | ---------- | ------ | ------------------------------------------------------------ | | code | String | 请求状态码。 | | request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 | ## 4. 示例 #### 输入示例 ``` GET https://longterm.proxy.qg.net/delete?key=<您的key信息>&<其他输入参数> ``` #### 输出示例 ```json { "code": "SUCCESS", "request_id": "83158ebe-be6c-40f7-a158-688741083edc" } ``` ## 5. 错误码 | 错误码 | 描述 | | ------------------------ | -------------------------------------------------------- | | INTERNAL_ERROR | 系统内部异常。 | | INVALID_PARAMETER | 参数错误(包含参数格式、类型等错误)。 | | INVALID_KEY | Key不存在或已过期。 | | UNAVAILABLE_KEY | Key不可用,已过期或被封禁 | | ACCESS_DENY | Key没有此接口的权限。 | | API_AUTH_DENY | Api授权不通过,请检查[Api鉴权配置](https://www.qg.net)。 | | KEY_BLOCK | Key被封禁。 | | REQUEST_LIMIT_EXCEEDED | 请求频率超出限制。 | | DELETE_LIMIT_EXCEEDED | 释放频率超出限制。 | | STATIC_DELETE_TIME_LIMIT | 静态资源需要24小时后才能释放。 |
长效代理-查询在用IP资源接口
## 1. 接口描述 接口请求域名: longterm.proxy.qg.net。 本接口 (/query) 用于长效代理产品查询在用的IP资源的接口。 默认接口请求频率限制:60次/分钟。 推荐使用调试工具进行调试,[调试工具](https://www.qg.net/tools/IPdebug.html)。 ## 2. 输入参数 | 参数名称 | 必选 | 类型 | 描述 | | -------- | ---- | ------ | ------------------------------------------------------------ | | key | 是 | String | 公共参数,产品唯一标识。 | | task | 否 | String | 提取批次筛选。支持多批次筛选,用逗号隔开。比如:"Z5p2DKKCSyhocKEa,kAEaWHucf8iPXm0O"。 | ## 3. 输出参数 | 参数名称 | 类型 | 描述 | | ---------- | ------------------------------------------------- | ------------------------------------------------------------ | | code | String | 请求状态码。 | | data.tasks | Array of [Task](https://www.qg.net/doc/1839.html) | 提取批次列表。
**注:Task结构中的IP结构中的server才是代理地址,proxy_ip是代理的真实出口IP。** | | data.num | Integer | 提取批次数量。 | | request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 | ## 4. 示例 #### 输入示例 ``` GET https://longterm.proxy.qg.net/query?key=<您的key信息>&<其他输入参数> ``` #### 输出示例 ```json { "code": "SUCCESS", "data": { "tasks": { "task_id": "Z5p2DKKCSyhocKEa", "ips": [ { "proxy_ip": "123.54.55.24", "server": "123.54.55.24:59419", "area": "河南省商丘市", "isp": "电信", "deadline": "2023-02-25 15:38:36" } ], "num": 1 }, "num": 1 }, "request_id": "83158ebe-be6c-40f7-a158-688741083edc" } ``` ## 5. 错误码 | 错误码 | 描述 | | ---------------------- | ------------------------------------------------------------ | | INTERNAL_ERROR | 系统内部异常。 | | INVALID_PARAMETER | 参数错误(包含参数格式、类型等错误)。 | | INVALID_KEY | Key不存在或已过期。 | | UNAVAILABLE_KEY | Key不可用,已过期或被封禁 | | ACCESS_DENY | Key没有此接口的权限。 | | API_AUTH_DENY | Api授权不通过,请检查[Api鉴权配置](https://www.qg.net/user/proxyIpManage)。 | | KEY_BLOCK | Key被封禁。 | | REQUEST_LIMIT_EXCEEDED | 请求频率超出限制。 |
长效代理-提取IP接口
## 1. 接口描述 接口请求域名: longterm.proxy.qg.net。 本接口 (/get) 用于长效代理产品提取IP资源的接口。 默认接口请求频率限制:(通道数*5+10)次/分钟。 推荐使用调试工具进行调试,[调试工具](https://www.qg.net/tools/IPdebug.html)。 ## 2. 输入参数 | 参数名称 | 必选 | 类型 | 描述 | | -------- | ---- | ------- | ------------------------------------------------------------ | | key | 是 | String | 公共参数,产品唯一标识。 | | area | 否 | String | 按地区提取。 | | isp | 否 | Integer | 按运营商提取。
0: 不筛选
1: 电信
2: 移动
3: 联通 | | num | 否 | Integer | 提取个数,默认为1。 | ## 3. 输出参数 | 参数名称 | 类型 | 描述 | | ------------ | ----------------------------------------------- | ------------------------------------------------------------ | | code | String | 请求状态码。 | | data.task_id | String | 提取批次的ID。 | | data.ips | Array of [IP](https://www.qg.net/doc/1839.html) | IP资源列表。
**注:IP结构中的server才是代理地址,proxy_ip是代理的真实出口IP。** | | data.num | Integer | 提取到的IP资源数量。 | | request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 | ## 4. 示例 #### 输入示例 ``` GET https:/longterm.proxy.qg.net/get?key=<您的key信息>&<其他输入参数> ``` #### 输出示例 ```json {     "code": "SUCCESS",     "data": {         "task_id": "0LIKQ3S1_task",         "ips": [             {                 "proxy_ip": "123.54.55.24",                 "server": "123.54.55.24:59419",                 "area": "河南省商丘市",                 "isp": "电信",                 "deadline": "2023-02-25 15:38:36"             }         ],         "num": 1     },     "request_id": "83158ebe-be6c-40f7-a158-688741083edc" } ``` ## 5. 错误码 | 错误码 | 描述 | | ---------------------- | ------------------------------------------------------------ | | INTERNAL_ERROR | 系统内部异常。 | | INVALID_PARAMETER | 参数错误(包含参数格式、类型等错误)。 | | INVALID_KEY | Key不存在或已过期。 | | UNAVAILABLE_KEY | Key不可用,已过期或被封禁 | | ACCESS_DENY | Key没有此接口的权限。 | | API_AUTH_DENY | Api授权不通过,请检查[Api鉴权配置](https://www.qg.net/user/proxyIpManage)。 | | KEY_BLOCK | Key被封禁。 | | REQUEST_LIMIT_EXCEEDED | 请求频率超出限制。 | | NO_RESOURCE_FOUND | 资源不足。 | | FAILED_OPERATION | 提取失败。 |
隧道代理(全球HTTP)-超级机房池
**全球HTTP均不支持在中国大陆地区网络环境下使用**。 #### 一、介绍 超级机房池,顾名思义,其IP资源来自全球各地的大型数据中心,由知名的云计算服务商控制。 目前,数据中心池IP资源覆盖了全球100+个国家地区,日去重数达400W+,拥有高质的代理服务质量,能够稳定、可靠地满足用户的各类需求。 ![image-20240429111543661](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-04-29%2F1115434259a66.png) *超级机房池IP直接表现在IP信息上的是所属ASN的type类型为business(或hosting)。 #### 二、资源池特点 相比于住宅池,超级机房池 - 由知名云厂商统一管理控制,网络更加稳定 - 性价比更高,可以根据使用的流量计费,还提供不限流量套餐选择 #### 三、适用客户群 - 追求高性价比的客户 - 不要求住宅网络,更在意稳定性的客户 [开始选用【超级机房池】套餐>](https://www.qg.net/business/proxyip.html?region=overseas&product_type=3)
代理IP操作中的常见问题汇总
#### 单日最多获取IP数量和单次最多获取数量是多少? 动态IP每天可用的IP数量超过百万级,在通道数足够的情况下,短效代理通道提取方式单次最多可以申请100个IP,按量提取方式单次最多可以申请200个IP,为您的业务提供强大的助力; 静态IP最小的存活期为24小时,超过24小时后,客户可以自由地选择释放申请IP,静态IP一周只能更换2次。 #### IP是否支持文本提取,支持格式有哪些? 目前只能通过API获取,提取格式为JSON格式和TXT文本格式,暂不支持HTML网页格式,后期会上线该功能,敬请期待哦~ #### 提取不到IP?提示没有剩余的可用通道数? 当在申请IP时出现该提示,可通过调试工具的通道配额接口方法查看当前key的使用情况, 如果Available为0则表示当前AuthKey的可用通道数已被使用完;如果Available不为0,先到调试工具的【释放IP资源】进行通道IP的释放,再查询通道可用数。 #### 浏览器设置代理弹出【用户名:密码】对话框,提示要输入密码 出现这种问题有两种情况: (1) 白名单IP授权模式下,绑定的不是使用代理的终端IP,或者绑定的不是固定出口IP; (2)【用户名:密码】授权模式下,即使在后台绑定了终端IP授权,还是会弹出【用户名:密码】对话框的。 选择终端IP授权模式,并绑定使用代理的终端IP授权(固定出口IP),则可避免这种情况的发生。 #### 多久可以切换IP?最长可以用多久? ##### 1.多久可以切换IP 不同的代理套餐对应的IP切换时间不同,具体如下: (1)短效代理 为系统根据所对应的套餐分钟数在到期后自动进行释放,不支持人工手动释放已申请的IP; (2)独享代理 在已申请的IP地址使用时间大于30秒后才可进行释放; (3)独享代理(地区锁) IP可自主重拨,删除或释放IP需要添加线路12小时后才能执行; (4)长效代理(静态IP高级版) 在已申请的IP地址使用时间大于24小时后才可进行释放。 ##### 2.最长可以用多久? 不同的代理套餐对应的IP使用时长不同,具体如下: (1)短效代理IP 受现有套餐存活期限的限制,目前单个IP最长仅支持使用30分钟; (2)独享代理IP 目前单个IP最长支持使用24小时; (3)长效代理IP 静态IP:24小时起,长期有效,不限制使用时间。 动态IP:数小时至数天,自然失效 #### 申请IP时的生存周期KeepAlive是否可以自动释放IP? 短效代理IP的释放由系统控制,无法手动释放;独享代理(地区锁)则在【IP管理】或调试工具重拨IP资源接可; 独享代理申请IP过程中的KeepAlive需自行设定的IP时长,可在套餐支持的时长0-1440分钟范围内填写合适的数字,默认24小时; 长效代理IP,静态IP高级版可以手动释放IP,一周2次机会,IP需使用24小时以上可操作释放。 #### 各套餐每天/每次最多能提取多少IP? 一通道代表着并发的意思,即一通道同一时间内最多仅有一个IP。通俗的解释,相当于客户购买拨号VPS去自己搭建代理IP; ##### 1.IP提取情况如下: (1)独享代理IP 目前的存活期存在着最小1分钟的限制,最大存活期为24小时,也就是客户最快在申请当前IP后的1分钟可以释放该IP,并且又可以马上申请新IP。假设客户每个IP仅使用最短的1分钟时间,那 么一天最多可用IP的计算公式为24×60=1440个; (2)短效代理IP 短效代理IP的存活期为系统控制,客户无法主动释放代理IP,如客户购买的是存活期1-5分钟的套餐,则其IP的存活时间为在1-5分钟内,在客户申请共享IP的时候,系统会返回其IP的deadtime(结束时间)。假设若存活时间结束后,客户马上申请新的代理IP,则其一天最多可用IP数为24×60=1440个,最小可用IP数为24×60/5=288个; (3)长效代理IP 目前长效代理分为静态和动态两种子产品,动态IP自然失效,静态IP分为普惠版和高级版,普惠版IP固定不变,高级版IP最小的存活期为1天(可手动释放),目的是防止同行或某些客户滥用资源等情况。超过1天后,客户可以自由地选择更换其他IP。但是此类客户在IP可用情况下,一般不会进行更换IP。 ##### 2.不同套餐IP的单次提取限制如下: (1)短效、静态 套餐单次可提取IP数量=剩余可用通道数,单次最多可提取100个IP; (2)短效(按量提取) 套餐单次可提取数量=剩余可用数量,单次最多可提取200个IP。
短效代理-使用指南-开发版
青果为有经验的开发者提供多种API接口及代码示例,以协助开发者更便利地使用代理。 本篇仅以【提取IP】这一操作为例,介绍如何使用API接口-代码方式来使用代理。 ## 步骤总览 ![api2](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-12-16%2F153708e85f5ad.png) ## 一、API鉴权与代理授权 青果支持开发者对API鉴权和代理授权验证进行自主管理,以下介绍这一阶段的操作 **API鉴权**是指对调用API接口的服务器身份进行验证的功能。启用鉴权可以提高安全性,用户可以根据需要选择启用或关闭该功能。 用户可根据意愿选择开启和关闭API鉴权(默认关闭),青果提供的鉴权方式有密码和白名单两种,在对应业务【操作】-【业务设置】-【API鉴权/白名单】中进行设置即可。 ![image-20241225175234883](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-12-25%2F175235509ac6b.png) ![image-20241225175606761](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-12-25%2F1756067c4d2a7.png) **代理授权验证**是指对代理身份进行验证,只有通过对应信息才能使用该代理IP,确保您的使用权益和安全性。 青果代理IP支持白名单和帐密两种验证方式,可自主选择使用。 白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功; 账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。 白名单设置的入口与API鉴权一样。 ![image-20241225175518259](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-12-25%2F175518b9f31b2.png) 详细步骤可查看>[如何使用API鉴权](https://www.qg.net/doc/2283.html)、[代理验证](https://www.qg.net/doc/1574.html) ## 二、获取api接口 青果给开发者提供两种方式来获得api接口 ① 使用调试工具/提取工具 调试工具是青果为开发者推出的快速获取接口&调试的简便工具,传送门[>>调试工具](https://www.qg.net/tools/IPdebug.html) 使用调试工具,用户需要先在左侧栏目中选好产品及接口类型,并在右侧表格的参数值列中填写所需信息,便可在页面上方看到完整的【请求地址】,这便是提取IP的API接口。 点击【发送】还能快速调试,查看响应结果,确认该代理接口是否可用。 ![image-20240425151330263](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-04-25%2F151330048e875.png) 调试工具除了有提取IP接口,还提供查询在用IP、资源池、资源地区等接口。 若只需要提取IP,也可以使用提取工具,进行简单的选择便可以获取一样的接口链接。传送门[>>提取工具 ](https://www.qg.net/tools/IPget.html) ![image-20240425151955693](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-04-25%2F1519556890211.png) ② 查看api接口文档 除了简便工具,开发者也可以通过更原始的接口文档,自主编写所需的接口链接。 **点击了解API接口文档 >[弹性提取类型](https://www.qg.net/doc/product/6_255_263_264/2254.html)、[按量提取类型](https://www.qg.net/doc/product/6_255_263_265/2140.html)、[均匀提取类型](https://www.qg.net/doc/product/6_255_263_266/2258.html)、[通道提取类型](https://www.qg.net/doc/product/6_255_263_267/2139.html)** ## 三、代理测试 在代理服务器中打开命令行,输入相应的代理信息进行运行,若响应成功,则代理可用。 以下图为例,通过curl命令测试账密模式的代理结果,查询IP并成功响应。 `curl -x http://{authkey}:{authpwd}@{118.92.69.112}:{32105} {targetUrl}` ![image-20240426180650605](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-04-26%2F1806504f4e31e.png) 若响应不成功,可对应[错误码表](https://www.qg.net/doc/1838.html),排查问题。 ## 四、编写采集程序 测试代理可用后,便可开始编写代理采集程序了。 青果提供了多种编程语言的代码示例供开发者参考, 详情查看 - [C语言代码示例](https://www.qg.net/doc/sdk/9_230/1694.html) - [Go语言代码示例](https://www.qg.net/doc/sdk/9_230/1695.html) - [PHP语言代码示例](https://www.qg.net/doc/sdk/9_230/1696.html) - [Python语言代码示例](https://www.qg.net/doc/sdk/9_230/1697.html) - [Java语言代码示例](https://www.qg.net/doc/sdk/9_230/1698.html) - [Shell语言代码示例](https://www.qg.net/doc/sdk/9_230/1699.html) - [C#语言代码示例](https://www.qg.net/doc/sdk/9_230/1700.html) - [Node语言代码示例](https://www.qg.net/doc/sdk/9_230/1701.html) **注:**青果代理IP产品都有相对应的IP存活周期,其有效时长是从提取到IP时算起,超过这个时长IP会失效。

扫码添加专属客服

扫码关注公众号