已经找到“” 的记录296条
代码示例--隧道代理

1.隧道示例使用说明

(1). 代码样例不能直接运行,因为代码中的隧道服务器域名tunne11.qg.net、端口号16519、用户名AuthKey、密码password都是虚构的,请替换成您自己的信息,可在隧道业务详情页中查看。查看我的隧道信息>>

(2). 隧道代理不需要使用API链接等其他方式获取代理IP,所有请求将在隧道服务器上进行切换IP并转发。

(3). 建议关闭HTTP协议的keep-alive功能,避免因连接复用导致隧道不能切换IP。

(4). 使用代码样例过程中遇到问题请联系售后客服,我们会为您提供技术支持。

2.代码示例—C#

此代码适用.NET 5.0 and .NET Core

此示例通过WebProxy进行代理设置,并通过HttpWebResquest发送请求。

下面的代码需要用到命名空间 System.Net、System.Text、System.IO,请先引入命名空间

此代码以http和https代理为例。

using System;
using System.Net;
using System.Text;
using System.IO;
namespace proxy_demo
{
class Program
{
static void Main(string[] args)
{
sendRequest("[https://myip.ipip.net](https://myip.ipip.net/)", SetProxy());
}
private static void sendRequest(String urlStr, WebProxy proxyObj)
{
try
{
// 设置Http/https请求
HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(urlStr);
httpRequest.Method = "GET";
httpRequest.Credentials = CredentialCache.DefaultCredentials;
// 在发起HTTP请求前将proxyObj赋值给HttpWebRequest的Proxy属性
httpRequest.Proxy = proxyObj;
// 抓取响应返回的页面数据
HttpWebResponse res = (HttpWebResponse)httpRequest.GetResponse();
StreamReader reader = new StreamReader(res.GetResponseStream(),System.Text.Encoding.UTF8);
string content = reader.ReadToEnd();
reader.Close();
Console.WriteLine("{0}", content);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
private static WebProxy SetProxy()
{
WebProxy proxy = new WebProxy();
try
{
// 设置代理属性WebProxy
string server = @"tunnel2.qg.net:18519"; //隧道服务器地址
string proxyUser = @"4B2AF3A6"; //密钥
string proxyPass = @"D95133B9A167"; //密码
proxy.Address = new Uri(string.Format("http://{0}/",server));
proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass); //如使用白名单方式连接,可注释此行
Console.WriteLine("隧道服务器连接成功:{0}", server);
return proxy;
}
catch (NullReferenceException e)
{
Console.WriteLine("隧道服务器连接失败,请检查隧道服务器地址、密钥账号、密码是否有误。" e.ToString());
}
return proxy;
}
}
}

 

运行结果:

  1. {"errorcode":-46628,"errormsg":"htm file not exist, retcode:-21006"}

3.代码示例—PHP

以下示例适用于php5及php7

3.1 库

下面的代码需要用到php的curl库,请预先安装并开启

3.2 代码

$url = 'https://httpbin.org/get';
//获取到的隧道地址和端口
$proxy = 'tunnel2.qg.net:18519';
//用户的key和密码,使用账密模式访问隧道代理的时候用到。如果使用IP白名单模式,请注释掉下行
$proxyauth = 'key:passwd';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//设置代理
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//使用账密模式访问代理时设置账密。如果使用IP白名单模式,请注释掉下行
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
//设置使用的代理类型,当前为socks5类型,如果不设置,默认为http/https类型
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
if ( ! $res = curl_exec($ch))
{
trigger_error(curl_error($ch));
}
curl_close($ch);
echo $res;

4.代码示例-Python

以下示例适用于python2 及 python3

4.1 库

进行http请求,我们一般使用requests库,该库支持http/https代理。 安装如下

  1. pip install requests

如果需要使用socks5代理,可以安装支持socks的版本

  1. pip install 'requests[socks]'

4.2 代码

下面以使用socks5代理为例

  1. ```python
  2. import requests
  3.  
  4. proxyHost = "tunnel2.qg.net" #获取隧道服务器地址
  5. proxyPort = "18519" #获取隧道服务器端口
  6. key = "key" #用户key
  7. passwd = "123456" #用户密码
  8.  
  9. # 账密模式
  10. proxy = 'socks5://{}:{}@{}:{}'.format(key, passwd, proxyHost, proxyPort)
  11. # 如果使用IP白名单模式,请用下行替换上一行
  12. # proxy = 'socks5://{}:{}'.format(proxyHost, proxyPort)
  13.  
  14. proxies = {
  15. "http": proxy,
  16. "https": proxy
  17. }
  18.  
  19. response = requests.get("https:///www.fwvps.com", proxies=proxies)
  20. print(response.text)
  21. ```

如果想使用http/https代理,请修改接入代理的协议,如下

  1.  
  2. ```python
  3. # 账密模式
  4. proxy = 'http://{}:{}@{}:{}'.format(key, passwd, proxyHost, proxyPort)
  5. # 如果使用IP白名单模式,请用下行替换上一行
  6. # proxy = 'http://{}:{}'.format(proxyHost, proxyPort)
  7. ```

Cache Access Denied 是什么问题

出现Cache Access Denied这种提示的情况一般是使用代理IP的终端设备IP地址变更了,导致添加的白名单IP授权失败。

您可以检查下使用代理的终端IP有没有变;如果变了,需要重新添加白名单进行绑定,如下图;

绑定完成后重新获取新的IP即可正常使用。

Nodejs-superagent使用代理IP代码示例

此示例Nodejs使用superagent并通过代理进行请求发送。

下面的代码需要用到npm包:superagent、superagent-proxy,请先引入文件中

此代码以http和https代理为例

1.代码

// 安装superagen 终端执行 npm install superagent
// 安装superagent-proxy终端执行 npm install superagent-proxy
let request = require('superagent')
require('superagent-proxy')(request)
let targetUrl = 'https://myip.ipip.net/' //要访问的目标站点
let auth = 'XXXXXXXX:XXXXXXXXXXXX' //冒号分帐号和密码: KeyAuth:KeyPass
let proxyServer = 'tunnel.qg.net:13953' //代理服务器地址和对应端口
// 两种验证方式
let proxyUrl_account = 'http://' auth '@' proxyServer //帐密认证
let proxyUrl_white = 'http://' proxyServer //白名单认证
//帐密认证模式
request.get(targetUrl)
.proxy(proxyUrl_account) //请求时设置调用代理信息
.then(res => {
console.log('当前:帐密认证模式')
console.log(res.text)
}).catch(err => {
console.log(err.message)
})
//白名单认证模式
request.get(targetUrl)
.proxy(proxyUrl_white) //请求时设置调用代理信息
.then(res => {
console.log('当前:白名单认证模式')
console.log(res.text)
}).catch(err => {
console.log(err.message)
})

 

2.运行结果

运行结果详情如下图:

 
Nodejs-axios使用代理IP代码示例

此示例Nodejs使用axios并通过代理进行请求发送。

下面的代码需要用到npm包:axios-https-proxy-fix,请先引入文件中。

此代码以http和https代理为例。

1.代码

// 终端执行 npm install axios-https-proxy-fix 下载相应的包
// 引入包:axios-https-proxy-fix
let axios = require('axios-https-proxy-fix')
// 目标网站
let targetUrl = 'https://myip.ipip.net/' //要访问的目标站点
//服务器信息
let serverURL = 'xxx.xxx.xxx.xxx' //代理服务器地址
let serverPort = 'xxx' //代理服务器端口
//账密登录信息
let authKey = 'xxxxxxx' //代理服务器帐号
let authPwd = 'xxxxxxx' //代理服务器密码
// 设置代理
let proxy = {
host: serverURL,
port: serverPort,
// 使用白名单可不添加 auth 字段
auth: {
username: authKey,
password: authPwd
}
}
axios.get(targetUrl, {proxy: proxy}) //请求时设置调用代理信息
.then((res) => {
console.log(res.data)
}).catch((err) => {
console.log(err.message)
})

2.运行结果

运行结果详情如下图:

代码示例-Python

以下示例适用于python2 及 python3

进行http请求,我们一般使用requests库,该库支持http/https代理。 安装如下

  1. pip install requests

如果需要使用socks5代理,可以安装支持socks的版本

  1. pip install 'requests[socks]'

代码

下面以使用socks5代理为例

import requests
proxyHost = "222.222.222.222" #获取到的代理IP
proxyPort = "12345" #获取到的代理端口
key = "key" #用户key
passwd = "123456" #用户密码
# 账密模式
proxy = 'socks5://{}:{}@{}:{}'.format(key, passwd, proxyHost, proxyPort)
# 如果使用IP白名单模式,请用下行替换上一行
# proxy = 'socks5://{}:{}'.format(proxyHost, proxyPort)
proxies = {
"http": proxy,
"https": proxy
}
response = requests.get("https://httpbin.org/get", proxies=proxies)
print(response.text)
如果想使用http/https代理,请修改接入代理的协议,如下

# 账密模式
proxy = 'http://{}:{}@{}:{}'.format(key, passwd, proxyHost, proxyPort)
# 如果使用IP白名单模式,请用下行替换上一行
# proxy = 'http://{}:{}'.format(proxyHost, proxyPort)

Firefox浏览器使用ProxySwitchyOmega插件连接代理IP

本文将对Firefox浏览器使用ProxySwitchyOmega插件连接代理IP的步骤进行详细解说。

1.安装插件

 Firefox浏览器Proxy SwitchyOmega插件获取地址:

https://addons.mozilla.org/zh-CN/firefox/addon/switchyomega/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search

点击 “添加到Firefox” 后浏览器会弹出插件添加确认提醒,确认添加后即可;

确认添加提示,选择“添加”即可

添加成功后将会自动跳转到设置页面,点击“下一步” 查看该插件的介绍说明信息即可。

 

2.创建代理IP连接

点击左侧菜单项目中的“情景模式”分组下方的“新增情景模式”进行添加代理IP连接信息 ;

新建情景模式,设置情景模式名称,模式类型默认选择(代理服务器),确认“创建”即可;

点击左侧菜单项目中的”情景模式”分组下方的”qg.net进行代理设置 ;

 

3.设置代理连接信息

选择代理IP的连接协议类型并填入相应的代理IP的服务器地址和端口信息。

网址协议(默认一行的信息中,代理协议选择 HTTP 并输入代理服务器地址代理端口信息,可点击最后的锁图标,可输入账号密码进行账密验证登录连接。

例如:

帐号密码登录设置:

设置完毕后点击左侧菜单进行应用选项 ;

4.连接代理IP服务器

使用前:

使用后:

选中添加的qg.net 代理IP连接,并测试连接成功 ;

傲游浏览器如何使用代理IP

本文将针对傲游浏览器如何使用代理IP进行详细说明,具体步骤如下:

1.查看IP密钥

在“代理ip”-“业务管理”里面查看自己购买的代理ip,然后点击”管理”查看自己的代理IP业务信息(“AuthKey”和“AuthPwd”),具体如下图;

2.申请IP

使用自己购买的“AuthKey”去“调试工具”里面选择“资源申请”获取ip,如下图:

3.浏览器设置代理

3.1 遨游浏览器设置代理

步骤如下:
3.1.1 打开傲游浏览器,点击右上角的菜单,再点击“设置”并在搜索栏里面输入“代理”进行搜索,如下图:

3.1.2 打开的设置页面中选择“使用自定义代理设置”然后点击“添加”;

3.1.3 在弹出的窗口输入“名称”,然后需要选择代理的类型,类型包括(http、https、socks模式),然后输入代理的“地址”跟端口,然后输入“用户名”和“密码”(用户名就是“AuthKey”,密码就是“AuthPwd”),输入完成后点击“确定”即可。

3.1.4 添加完成后选择刚刚添加的代理,点击“启用”即完成遨游浏览器的代理设置;

3.2 设置成功验证

使用傲游浏览器打开浏览器打开https://www.baidu.com/s?word=ip,查看ip是否和设置的代理ip相同,相同则为设置成功;

3.3 取消代理设置

取消代理的话,直接在设置里面点击“不使用代理”即可取消掉。

代码示例-Java

此示例是通过修改JVM中的网络设置来达到代理的效果,如果程序员有些请求不需要代理可以在代理请求之后再将JVM配置项改回默认项。支持http、https、socks5代理

代码

此代码以http和https代理为例:

 

``

```java
// 使用socks5代理配置



package com.qg;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.*;

public class ProxyClient {

//用户key

private static String user = "key";

//用户密码

private static String password = "proxy_password";

//获取到的代理IP

private static String proxyIP = "127.0.0.1";

//获取到的代理端口

private static String proxyPort = "1080";

public static void main(String[] args) {

// 下面http、https代理和socks5代理只需要设置一个就可以

// 使用http代理和https代理

System.setProperty("http.proxySet", "true");

// 发起http请求时使用的代理服务器配置

System.setProperty("http.proxyHost", proxyIP);

System.setProperty("http.proxyPort", proxyPort);

// 发起https请求时使用的代理服务器配置

System.setProperty("https.proxyHost", proxyIP);

System.setProperty("https.proxyPort", proxyPort);

// 这行代码是身份验证的关键配置,不然身份验证不起作用

System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");

System.setProperty("jdk.http.auth.proxying.disabledSchemes", "");

// 身份验证

Authenticator.setDefault(

new Authenticator() {

public PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(

user, password.toCharArray());

}

}

);

sendRequest("http://www.fwvps.com");

sendRequest("https://www.fwvps.com");

}

public static void sendRequest(String urlStr) {

URL url;

&nbs; BufferedReader in;

StringBuilder result = new StringBuilder();

try {

url = new URL(urlStr);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.connect();

in = new BufferedReader(new InputStreamReader(conn.getInputStream()));

String line;

while ((line = in.readLine()) != null) {

result.append(line);

}

conn.disconnect();

System.out.println("http status code:" conn.getResponseCode());

System.out.println("body: " result);

} catch (IOException e) {

e.printStackTrace();

}

}

}
```
如需使用socks5代理可以将main函数中的代码替换为:

```java
// 使用socks5代理配置
System.setProperty("socksProxyHost", proxyIP);

System.setProperty("socksProxyPort", proxyPort);

System.setProperty("socksProxyVersion", "5");

System.setProperty("java.net.socks.username", user);

System.setProperty("java.net.socks.password", password);
```
代码示例-PHP

以下示例适用于php5及php7

下面的代码需要用到php的curl库,请预先安装并开启

代码

$url = 'https://httpbin.org/get';
//获取到的代理IP和端口
$proxy = '222.222.222.222:12345';
//用户的key和密码,使用账密模式访问代理的时候用到。如果使用IP白名单模式,请注释掉下行
$proxyauth = 'key:passwd';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);

//设置代理
curl_setopt($ch, CURLOPT_PROXY, $proxy);

//使用账密模式访问代理时设置账密。如果使用IP白名单模式,请注释掉下行
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);

//设置使用的代理类型,当前为socks5类型,如果不设置,默认为http/https类型
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

if ( ! $res = curl_exec($ch))
{
trigger_error(curl_error($ch));
}
curl_close($ch);

echo $res;

 

 

 

代码示例--C#

此代码适用.NET 5.0 and .NET Core

此示例通过**WebProxy**进行代理设置,并通过**HttpWebResquest**发送请求。

代码

下面的代码需要用到命名空间 **System.Net**、**System.Text**、**System.IO**,请先引入命名空间

此代码以http和https代理为例

using System;

using System.Net;

using System.Text;

using System.IO;

namespace proxy_demo

{

class Program

{

​ static void Main(string[] args)

​ {

​ sendRequest("https://www.fwvps.com", SetProxy());

​ }

​ private static void sendRequest(String urlStr, WebProxy proxyObj)

​ {

​ try

​ {

​ // 设置Http/https请求

​ HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(urlStr);

​ httpRequest.Method = "GET";

​ httpRequest.Credentials = CredentialCache.DefaultCredentials;

​ // 在发起HTTP请求前将proxyObj赋值给HttpWebRequest的Proxy属性

​ httpRequest.Proxy = proxyObj;

​ // 抓取响应返回的页面数据

​ HttpWebResponse res = (HttpWebResponse)httpRequest.GetResponse();

​ StreamReader reader = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);

​ string content = reader.ReadToEnd();

​ reader.Close();

​ Console.WriteLine("{0}", content);

​ }

​ catch (Exception e)

​ {

​ Console.WriteLine(e.ToString());

​ }

​ }

​ private static WebProxy SetProxy()

​ {

​ WebProxy proxy = new WebProxy();

​ try

​ {

​ // 设置代理属性WebProxy

​ string server = @"tunnel.www.fwvps.com:11883"; //代理IP的服务器地址

​ string proxyUser = @"4B2AF3A6"; //帐号

​ string proxyPass = @"D95133B9A167"; //密码

​ proxy.Address = new Uri(string.Format("http://{0}/",server));

​ proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass); //如使用白名单方式连接,可注释此行

​ Console.WriteLine("代理服务器连接成功:{0}", server);

​ return proxy;

​ }

​ catch (NullReferenceException e)

​ {

​ Console.WriteLine("代理服务器连接失败,请检查服务器地址、用户名、密码是否有误。" e.ToString());

​ }

​ return proxy;

​ }

}

}

运行结果:

![img](https://www.fwvps.comcos./uploads/image/20211120/3aff0340408be207a2f9dbdcb487dfc9.png)

客户热线:4007-567-365

客户服务中心
点击联系微信客服