Sockscap64是一款代理客户端软件,可以使Windows网络应用程序来访问网络而不需要对这些应用程序做任何修改。 本文将针对代理客户端SocksCap64使用教程进行详细的说明,具体步骤如下: 软件安装包下载地址,下载后操作安装软件; https://www.onlinedown.net/download/254774?module=download&t=website&resources=0 打开软件,发现你还未添加任何程序时会自动提醒你是否需要自动导入你电脑中安装的浏览器, 选择【是】,可以自动导入; ![img](https://cos.qg.net/uploads/image/20210811/c31bff4b6f164d306cbc517c9de48275.png) 点击【代理】; ![img](https://cos.qg.net/uploads/image/20210811/b56940cce8dfb7c344033186c241a7bd.png) 点击如图所示图标; ![img](https://cos.qg.net/uploads/image/20210811/eeb52d605a3ae5076794fb56967cc59e.png) 编辑代理服务器信息; ![img](https://cos.qg.net/uploads/image/20210811/0e09f87bb44a11192b53433dbe4276f7.png) 编辑完成后点击如图所示图标,可测试代理连接; ![img](https://cos.qg.net/uploads/image/20210811/d00c468e32d4e21149924fdfc318975f.png) 测试正常即可点击【保存】; ![img](https://cos.qg.net/uploads/image/20210811/f1d27683ed55b4be32cede0924eb7c11.png) 点击程序下拉菜单,选择【添加一个可执行文件】可添加指定程序; ![img](https://cos.qg.net/uploads/image/20210811/e76e2a572e8ebd95de49c65c1a4a248e.png) 在弹出的窗口中设置好对应程序,然后点击【确定】; ![img](https://cos.qg.net/uploads/image/20210811/bd04fb1c6b436740aa2c4ed065e8997f.png) 右键点击指定程序,选择【在代理隧道中运行选中程序】即可; ![img](https://cos.qg.net/uploads/image/20210811/58a03386173ac3653eaf8fbef5401b9c.png)
此示例Python使用Selenium调用Chrome浏览器并通过代理进行自动化测试。 - 代码示例 ```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)
青果为有经验的开发者提供多种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鉴权(默认关闭),青果提供的鉴权方式有密码和白名单两种,在对应业务【操作】-【业务设置】-【API鉴权】中进行设置即可。 ![image-20241216145626144](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-12-16%2F1456261cfce8f.png) **代理授权验证**是指对代理身份进行验证,只有通过对应信息才能使用该代理IP,确保您的使用权益和安全性。 青果代理IP支持白名单和帐密两种验证方式,可自主选择使用。 白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功; 账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。 相关入口和信息在业务管理页面可看到。 ![image-20240425113427455](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-04-25%2F113427470a7d8.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),排查问题。 ## 四、编写采集程序 测试代理可用后,便可开始编写代理采集程序了。 青果提供了多种编程语言的代码示例以及SDK下载包供开发者参考, 详情查看 - [SDK下载](https://www.qg.net/doc/sdk/9_230/1745.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会失效。
## 1 接口描述 本接口用于删除IP的白名单。接口请求地址https://proxy.qg.net/whitelist/del ; **注:**该接口单个Key的请求频率限制为:20 次/分钟。 ## 2 输入参数说明 以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。 |参数名|是否必选|类型|描述| |:---- |:---|:----- |----- | |Key |是 |String |删除白名单的Key值| |IP |是 |String|白名单IP,多个以逗号", "分隔| ## 3 返回值 |参数名|类型|描述| |:---- |:----- |----- | |Code |Integer |结果编码| |Data |Array|删除成功的白名单数组| |Num |Integer |删除成功的白名单个数| ## 4 示例 请求参数: ``` curl "https://proxy.qg.net/whitelist/del?Key=请改成您的Key&IP=1.1.1.1,2.2.2.2" ``` 返回参数,JSON格式,详情如下: ``` { "Code": 0, "Data": [ "1.1.1.1", "2.2.2.2" ], "Num": 2 } ``` ## 5 接口返回错误码 |错误码|描述| |:---- |:----- | | -1 | 未知错误 | | -10 | 参数不合法 | | -11 | 请求过于频繁 | | -100 | 计划不存在或已过期 |
此示例Python使用Selenium调用Chrome浏览器并通过代理进行自动化测试。 - 代码示例 ```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", "<all_urls>", "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: ["<all_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)
```c++
#include
## 1 接口描述 接口地址: https://proxy.qg.net/resources ; 本接口用于查询平台可用的代理IP资源列表; 该接口单个Key的请求频率限制为:60 次/分钟; 方法:HTTP、GET,需要注意不能混合使用; 编码:参数和返回内容均采用utf-8编码。 ## 2 输入参数说明 |参数名|是否必选|类型|描述| |:---- |:---|:----- |----- | |Key |是 |String |查询的Key值 | |AreaId |否 |String|区域编号 | |Isp |否 |Integer|运营商编号 | |Status |否 |Integer|可用状态,0:不可用;1:可用 | ## 3 返回值 接口可返回文本格式、json格式、xml格式,字段说明如下: |参数名|类型|描述| |:---- |:----- |----- | |Code |Integer |结果编码,0:成功;-1:失败| |Data|Array| 资源列表 | ## 4 示例 请求接口示例: ``` curl "https://proxy.qg.net/resources?Key=请改成您的Key" ``` 返回示例: ``` { "Code": 0, "Data": [ { "AreaId": "350500", "AreaName": "福建泉州市", "Isp": "1", "IspName": "电信", "Status": "1" } ] } ``` ##5 接口返回错误码 | 错误码 | 描述 | | ---- | ------------- | | -1 | 未知错误 | | -10 | 参数不合法 | | -11 | 请求过于频繁 | | -12 | AuthKey被封禁 | | -15 | Authkey对应的业务无此功能权限 | | -100 | 计划不存在或已过期 |
<p><span style="font-size: 10.5pt; font-family: '微软雅黑','sans-serif';">目前支持直购、代付、返款3种模式,都是在官方价格上享受8.5折优惠.</span></p>
## 1 概述 为了保证您购买的代理业务只有您的服务器才能使用,我们采用了IP白名单验证方式,通过设置IP白名单IP,除了您指定的服务器IP外,其他IP不能使用。 白名单可以免密钥验证,免费IP白名单鉴权数量高达256个,也就是说购买后您有256台独立外网IP的机器可以使用。不限制同时使用的终端设备数量,满足多业务需求。 需要注意的是,要在未提取IP之前添加白名单;短效代理产品不同key不能添加相同的白名单IP。 ## 2 步骤说明 ### 2.1 先查到您要使用的机器的外网IP。 如果是办公室电脑,可以访问https://ip.cn/api/index?ip=&type=0 查询您的外网IP; 如果是Linux服务器,可以通过如下命令查看机器外网IP:`curl https://d.qg.net/ip` ### 2.2 绑定您机器的IP作为白名单 根据您购买的代理业务,您可以在【会员中心-列表操作-白名单】或调试工具添加IP白名单,完成设置后,这些IP对应的机器就可以正常使用了。 **2.2.1 白名单管理** 进入会员中心,找到您所在的业务,点击右侧【更多】下的【业务设置】-【白名单管理】,进入设置; ![3643448658_150303554006_1F01EC5D-4BCE-46ba-A958-C28E3E6A5066](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads%2Fimage%2F2024-08-21%2F0916481b17630.png) 你可以在该页面添加、删除白名单,详情如下图: ![image-20221020173504988](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2022-10-20/173506e24e795.png) ** 2.2.2 调试工具** 在调试工具上勾选要使用的业务key,选择【IP白名单】模块相关操作接口,包括添加、删除和查询,输入您的机器外网IP,点击测试即可完成设置。详情如下图: ![image-20221020170632560](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2022-10-20/170634d6feace.png) ![image-20221020173708797](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2022-10-20/173710aa4f23f.png) ### 2.3 API调用 白名单的设置也支持编程API对接与调用。 - [添加白名单IP> ](https://www.qg.net/doc/178.html "添加白名单IP> ") - [删除白名单IP>](https://www.qg.net/doc/179.html "删除白名单IP>") - [查询白名单IP>](https://www.qg.net/doc/180.html "查询白名单IP>")
## 1 说明
通过编码使用动态独享代理主要有以下三步骤:
1.先在[会员中心](https://www.qg.net/user/ "会员中心")上查看购买的动态独享代理,进行本地调试和验证;[查看测试步骤>>](https://www.qg.net/doc/1574.html "查看测试步骤")
2.参考[代码样例](https://www.qg.net/list/192.html)请求动态独享代理;
3.在程序中通过调用API接口获取代理,然后请求目标网站。
## 2 API接口
动态独享代理API接口一览
| 接口类型 | API | 描述 |
| ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 资源相关 | - [allocate](https://www.qg.net/doc/174.html "资源申请")
- [replace](https://www.qg.net/doc/297.html "更换IP资源")
- [release](https://www.qg.net/doc/176.html "释放资源")
- [query](https://www.qg.net/doc/175.html "资源查询")
| - 调用 allocate提取代理IP资源
- 调用replace用于释放并申请新的代理IP,更换IP资源
- 调用release释放申请到的IP,以便于再次进行IP申请
- 调用query查询用户可用的代理IP资源列表 |
| 白名单相关 | - [whitelist/query](https://www.qg.net/doc/180.html "whitelist/query")
- [whitelist/add](https://www.qg.net/doc/178.html "whitelist/add")
- [whitelist/del](https://www.qg.net/doc/179.html "whitelist/del") | - 调用 whitelist/query用于查询IP的白名单
- 调用whitelist/add用于添加IP的白名单
- 调用whitelist/del用于删除IP的白名单 |
| 资源信息查询 | - [info/quota](https://www.qg.net/doc/181.html "info/quota")
- [resources](https://www.qg.net/doc/177.html "查询区域资源") | - 调用 info/quota用于查询IP提取余量
- 调用resources查询平台可用的代理IP资源列表 |
**重点:**动态独享代理只提供给单个客户使用,独享带宽和IP资源,IP可自主释放申请,因此新增接口更换IP资源/replace、释放IP资源/release。