import requests
targetURL = "https://ip.cn/api/index?ip=&type=0" //要访问的目标地址
proxyAddr = "请改成您的隧道地址" //如:tunnel3.qg.net:19263
authKey = "请改成您的Key"
password = "请改成您的AuthPwd"
# 账密模式
proxyUrl = "http://%(user)s:%(password)s@%(server)s" % {
"user": authKey,
"password": password,
"server": proxyAddr,
}
proxies = {
"http": proxyUrl,
"https": proxyUrl,
}
for i in range(10):
resp = requests.get(targetURL, proxies=proxies)
print(resp.text)
import base64
import time
import requests
from requests.adapters import HTTPAdapter
auth_key = "请改成您的Key"
password = "请改成您的AuthPwd"
tunnel_server = "http://请改成您的隧道地址" //如:tunnel3.qg.net:19263
target_url = "https://ip.cn/api/index?ip=&type=0" // 要访问的目标地址
proxy_headers = {}
proxy = {
"http": tunnel_server,
"https": tunnel_server
}
def encode_authorization(key, passwd):
# python 使用 bytes 类型进行 base64 编码
basic_str = bytes("%s:%s" % (key, passwd), "ascii")
# 得到的返回值也是 bytes 类型,所以需要再 decode 为字符串
return "Basic %s" % base64.b64encode(basic_str).decode("utf-8")
def reset_tunnel_proxy_headers():
global proxy_headers
proxy_headers = {
tunnel_server: {
"Proxy-Authorization": encode_authorization(auth_key, password)
}
}
def update_tunnel_proxy_headers(key, val):
global proxy_headers
proxy_headers[tunnel_server][key] = val
def new_session():
adapter = TunnelProxyAdapter()
se = requests.Session()
se.mount('https://', adapter)
se.mount('http://', adapter)
return se
class TunnelProxyAdapter(requests.adapters.HTTPAdapter):
def proxy_headers(self, p):
if p in proxy_headers:
print("session with headers:", proxy_headers[p])
return proxy_headers[p]
else:
return None
def normal_tunnel():
"""
结果类似:
request on normal mode
session with headers: {'Proxy-Authorization': 'Basic xxxx'}
request id: 1, code: 200, result: 140.250.149.229
"""
reset_tunnel_proxy_headers()
print("request on normal mode")
resp = new_session().get(target_url, proxies=proxy)
print("request id: 1, code: %s, result: %s" % (resp.status_code, resp.text))
def mark_tunnel():
"""
结果类似:
request with mark
session with headers: {'Proxy-Authorization': 'Basic xxxx', 'Proxy-TunnelID': 'channel-1', 'Proxy-TTL': 10}
request id: 1 , code: 200, result: 183.166.118.48
request id: 2 , code: 200, result: 183.166.118.48
request id: 3 , code: 200, result: 183.166.118.48
request id: 4 , code: 200, result: 183.166.118.48
request id: 5 , code: 200, result: 183.166.118.48
request id: 6 , code: 200, result: 183.166.118.48
request id: 7 , code: 200, result: 183.142.59.203
request id: 8 , code: 200, result: 183.142.59.203
request id: 9 , code: 200, result: 183.142.59.203
request id: 10, code: 200, result: 123.54.235.89
"""
reset_tunnel_proxy_headers()
update_tunnel_proxy_headers("Proxy-TunnelID", "channel-1")
update_tunnel_proxy_headers("Proxy-TTL", 10)
se = new_session()
print("request with mark")
for i in range(1, 12):
resp = se.get(target_url, proxies=proxy, headers={"Connection": "close"})
print("request id: %-2s, code: %s, result: %s" % (i, resp.status_code, resp.text))
time.sleep(1)
if __name__ == "__main__":
normal_tunnel()
mark_tunnel()
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"sync"
"time"
)
func main() {
authKey := "请改成您的Key"
password := "请改成您的AuthPwd"
proxyServer := "请改成您的隧道地址" //如:tunnel3.qg.net:19263
targetURL := "https://ip.cn/api/index?ip=&type=0"
rawURL := fmt.Sprintf("http://%s:%s@%s", authKey, password, proxyServer)
proxyUrl, _ := url.Parse(rawURL)
client := http.Client{
Transport: &http.Transport{
Proxy: http.ProxyURL(proxyUrl),
},
}
req, _ := http.NewRequest("GET", targetURL, nil)
rsp, err := client.Do(req)
if err != nil {
fmt.Printf("request failed: %s\n", err)
return
}
defer rsp.Body.Close()
body, err := ioutil.ReadAll(rsp.Body)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(string(body))
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"sync"
"time"
)
/** 返回内容
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:114.219.115.191 来自于:中国 江苏 苏州 电信
当前 IP:14.118.211.116 来自于:中国 广东 江门 电信
*/
func main() {
authKey := "请改成您的Key"
password := "请改成您的AuthPwd"
proxyServer := "请改成您的隧道的地址" //如:tunnel3.qg.net:19263
targetURL := "https://ip.cn/api/index?ip=&type=0"
rawURL := fmt.Sprintf("http://%s:%s@%s", authKey, password, proxyServer)
proxyUrl, _ := url.Parse(rawURL)
client := http.Client{
Transport: &http.Transport{
ProxyConnectHeader: http.Header{
"Proxy-TunnelID": []string{"channel-1"}, // 在CONNECT连接中新增Proxy-TunnelID打标记
"Proxy-TTL": []string{"10"}, // Proxy-TTL指定该标记IP的存活时间
},
Proxy: http.ProxyURL(proxyUrl),
},
}
// 因为标记的存活时间是10s,所以循环11次中有10次的IP是一样的。
// 第11次因为标记的IP到期了,系统会自动替换IP
wg := sync.WaitGroup{}
wg.Add(11)
for i := 0; i < 11; i++ {
go func() {
defer wg.Done()
req, _ := http.NewRequest("GET", targetURL, nil)
rsp, err := client.Do(req)
if err != nil {
fmt.Printf("request failed: %s\n", err)
return
}
defer rsp.Body.Close()
body, err := ioutil.ReadAll(rsp.Body)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(string(body))
}
}()
time.Sleep(time.Second)
}
wg.Wait()
}
1.备份原有的yum库
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.添加EPEL
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
4.清理缓存并生成新的缓存
yum clean all
yum makecache
5.这样就安装完成了
1.首先在APPSTOR下载“Microsoft Remote Desktop”应用
2.在打开的“Microsoft Remote Desktop”窗口中,单击“New”图标按钮,来创建一个新的远程主机
3.根据图片上得文字描述,输入需要连接的用户名密码,和ip地址。
PC Name:这里输入你要连接的远程计算机IP地址
UserName:平时登录计算机的用户名
Password:登录计算机的密码
输入以上信息后,直接关闭窗口就可以了,系统会自动保存
4.新建远程计算机后,在列表内就会出现了,您只需要双击就可以连接了
6.当您双击列表开始连接后,正常就会看到这个提示框了,单击“Continue”继续就可以了
7.Yes,已经成功连接至Windows系统了
在Windows 7系统下如何解决宽带连接提示错误692问题呢?
出现此错误提示可能是频繁拨号导致,此时需要重启下系统。打开“运行”,输入shutdown -r -t 0,然后点击“确定”即可重启。重启后即可恢复
1.打开“运行”,输入gpedit.msc,打开本地组策略编辑器
2.按计算机配置→管理模板→Windows组件→远程桌面服务→远程桌面会话主机→连接,进入到如图所示界面
3.双击“限制连接的数量”
4.点选“已启用”,在“允许的RD最大连接数”设置为999999,然后点击“确定”
6.点选“已禁用”,然后点击“确定”即可
7.安装UniversalTermsrvPatch补丁破解远程功能限制
将UniversalTermsrvPatch补丁复制到机器中,右键“以管理员身份运行”
开启UniversalTermsrvPatch后,点击“破解”
提示Patch Success(成功),确认重启机器即可。
隧道代理是我们基于高性能主机构建的动态IP代理服务器,通过将换IP操作放到云端,让用户使用更简单。
用户无须更换IP,隧道代理会将用户发送的请求转发到不同的代理IP,转发周期可按需购买。
使用隧道代理,开发者接入隧道服务即可,极大简化了编程的复杂度。
隧道代理同时支持HTTP和Socks协议,提供丰富的换IP周期,并采用弹性请求数控制,默认为5个请求数,需要更多的请求数需额外购买。
隧道代理使用极为便捷,参照代码样例可集成到您的程序中。
隧道代理适合希望代理自动切换IP的客户。
支持日付、周付、月付、年付等多种按时付费模式。
您可以在购买时指定隧道的换IP周期,既可以每次请求转发到1个新IP,也可以每隔一段时间转发到1个新IP,目前IP转发间隔时长有1分钟、3分钟、5分钟。
隧道共享代理同时支持通过用户密钥访问和设置IP白名单访问。
用户密钥、白名单设置在会员中心业务管理可查看和设置。
隧道代理最主要的使用方式是编程使用,您无需调用API提取代理,在会员中心将隧道信息(隧道地址和密钥信息等)放入代码样例中运行通过就可以用起来了。
点击屏幕右下方的小电脑图样,打开网络和共享中心。
2:设置新的连接或网络。
3:选择“连接到工作区”点击下一步。
4:选择创建新连接,点击下一步
5:如图示,点击“使用我的internet连接”进入下一步
6:如图示填入提供的带有端口的服务器地址,勾选现在不连接;仅进行设置选项,点击下一步。
7:输入账号密码勾选记住此密码。点击创建
8:创建完成后点击立即连接,连接成功。
当Windows 7系统提示内存不足时,除了可以升级内存外,也可以调整驱动器的分页文件大小从而增加运行内存。如何设置呢?
1.右键点击计算机,选择属性
2.选择“高级系统设置”
3.在“高级”一栏中找到“性能”,点击其中的设置
4.在性能选项界面“高级”一栏中找到“虚拟内存”,点击更改
5.勾选“自动管理所有驱动器的分页大小”后点击确定即可