文件名称:
how_to_use_http_proxy.pdf
开发工具:
文件大小: 819kb
下载次数: 0
上传时间: 2019-07-12
详细说明:如何使用外部代理,浏览器使用,python使用,php使用等然后打开任意网站,会出现“ Windows安全”窗囗(如下图示),输入代
理的用户名和密码,勾选“记住我的凭据”确定即可。
Windows安全
lot
驾器204.74210.33要求用广和
密恒。
告:此版务器要求以不安全的方式发送你的用户名和密没有安全连接
的基本认还
口牛我的摇
二、在自己编写的程序中使用代理
1. Python语言
参见如下示例代码
示例一:使用 requests
import requests
proxies =i
ihttp':http://username:passwordgip:port
'httos':'http://asername:passworddip:port
printrequests.get('http://ht-pbin.org/ip',proxies=proxies).content
示例二:使用 urllib2
import urllib2
你的理代理
sername: passwordeip: port
#你要访问的网址
url='http://httpbin.org/ip
opener urllib2 build opener()
if url. lower(.startswith(ht-ps://)
openeraddhandler(urllib2.Proxyhandler(ihttps:proxy)))
else
openeraddhandler(urllib2.Proxyhandler(['http:proxy]))
request urllib2 Request(url)
response opener open(reques=)
content response read()
print content
示例三:使用 Selenium
1)+ Phantoms
from selenium import webdriver
ervice args =[ --proxy-auth=username: password ','--proxy=ip: port
webdriver. Phantoms(service args=service args
driverget('http://nttpbin.org/ip')
print driver. page source
+chrome
from selenium import webdriver
options webdriver. ChromeOptionso)
optionsaddargument('--proxy-server=http://ip:port
driver webdriver Chrome(chrome options=options)
driver.get(http://ttpbin.org/ip)
print driver. page source
PS:“ Selenium+ Chrome”也支持用户名和密码认证,我们在这里介绍」解决方案:
http://www.site-digger.com/html/articles/20160803/129.html
3)+FireFoX
from selenium import webdriver
fp webdriver. FirefoxProfile(
fp set preference('network proxy type, 1)
Ep.setpreference('network.proxy.http'r'ip
p.setpreference(network.proxyhttpporterint(port))
driver webdriver Firefox(firefox profile=fp)
driverget('http://nttpbin.org/ip')
print driver. page source
PS:“ Selenium+ Firefox”也支持用户名和密码认证,我们在这里介绍了解决方案
http://www.site-digger.com/html/articles/20180822/662.html
示例四:使用 Scrap
import base64
设置代理
requestmeta['proxy']="http://ip:port
#添加认证头
user pass base64 encodestring('username: password ')
request headers[' Proxy-Authorization ]=Basic+ user pass
2.PHP语言
参见如下示例代码
php
function curlFile(url
rppr
ip, Proxy
Y port, loginpassw)
//sloginpassw ='username: password
proxy 1p
//Proxy port -port
7/surl='http://httpbin.org/ip'i
Sch= curl init()i
curl setopt(sch, CURLOPT URL, Surl)
curl setopt(sch, CURLOPT HEADER, 0)
curl setopt(sch, CURLOPT RETURNTRANSFER, 1)i
curl setopt(sch, CURLOPT PROXYPORT, Proxy port)i
curl setopt($
CurLoptProxyType,http')i
curl setopt(Sch, CURLOPT PROXY, Proxy ip)i
curl setopt(Sch, CURLOPT PROXYUSERPWD, sloginpassw)i
Sdata curl exec(sch)i
curl close(sch)i
return sdata
?>
3.C#语言
参见如下示例代码:
Httpwebrequestrequest=(httpwebrequeSt)webrequest.Create(url)i
IWebproxy proxy request PrOxy
if proxy ! null)
Console. Writelire(Proxy:[C)
proxy. Get Proxy(request. Reques-Uri))i
else
Console. Writeline(Proxy is null; no proxy will be used")
Webproxy my Proxy new WebProxy(
Urinewuri=newUrichttp:
Ip:oort
Associate the newJri objec- to 'my, object so that new
myProxy settings can be set
myproxy Address rewUri
/ Create a NetworkCredential object and associate it wi-h the
Proxy property of request object
myFroxy Credentials new NetworkCredential("user,"password")i
equest Proxy
lyProxyi
4.Java语言
方法
Ittpclient.httpclient
httpclient.gethcstconfiguRation().setproxy("proxyip",port)i
httrClient getParms(. setAuthenticationPreemptive(true
//这里设置代理的用户名密码
httpclientgetstate().setProxyCredentials(authscopeANY,new
UsernamePasswordcredentials("username","password"))
方法二:
System setproperty('hTtp. proxyhost","proxy io)i
System setproperty(htTp. proxyport","port )i
Uriurl=newUri("Nttp://www.site-digger.com/")i
URIConnection uc url. openCcnnection(
String encoded new string
(Base64. base64Encode(new
String ("username: password").getBytes()))
//添加一个" Proxy- Authorization"头处理代理认证
uc. setRequestPrcperty("Proxy-Authorization","Basic t encoded
ucconnect.i
方法三:
import java.net. Authenticato
class ProxyAuthenticator extends Authenticator t
private String user, password
public ProxyAuthenticator(String user, String password)t
this user = user
this password password
protected PasswordAuthentication getPasswordAuthentication()i
return new PasswordAuthentication (user
password. toChazArray())i
Authenticator. setDefault(new proxyAuthenticator("user","password"))
System setpropertyhttP. proxyhost,"proxy ip)i
System setproperty(htTp. proxyport,"port)i
5.cu命令和wget命令
cur命令示例
curl-xusername:passwordaip:port"http://httpbin.org/ip"
Wget命令示例:
wget-ehttpproxy-http://username:passwordaip:port
whttp://httpbin.org/ip
附:哪种代理适合用于Web数据采集?
在web数据采集中为了避免被服务器封锁而通过代理下载的情况很常见。
但是,并非所有的代都适合于Web数据采集。下面是餛鹏数据的技术人员
给出的说明。
根据HTTP代理的匿名性可以将其分为以下几种:
透明代理( Transparent Proxies)
目标服务器能够检测到真实的源|P
目标服务器根据HTTP请求头进行检测,判断依据:
REMOTE ADDR=代理服务器|P
Http Via=通常为代理服务器P(或代理软件名称,也可能无此头)
Http X ForwArded For=真实源P(不用代理时,无此头或值为空)
PS:该类型代理不适合用于Web数据采集。
2.(普通)匿名代理( Anonymous Proxies)
目标服务器无法检测到真实的源|P,但能够检测到使用了代理。
检测依据:
REMOTE ADDR=代理服务器|P
Http Via=通常为代理服务器|P(或代理软件名称,也可能无此头)
HTTPⅩFORWARDEDFOR=代理服务器P(知道你使用了代理,但无法得
知真实源|P)
PS:该类型代理可以用于Web数据采集,但有被检测到的风险。
3.高匿名代理( High Anonymity Proxies- Elite proxies)
目标服务器无法检测到你在是使用代理。
检测依据
REMOTE ADDR=代理服务器P
Http Via=值为空或无此头
HTTPⅩFORWARDEDFOR=没数值或无此头
PS:该类型的代理非常适合用户Web数据采集。鲲鹏数据的付费代理方案提
供的全部为高匿名类型的代理。
另外,不使用代理时发出的头
REMOTE ADDR=真实源|P
Http Via=值为空或无此头
HTTPⅩFORWARDEDFOR=没数值或无此头
不过,在检测严格的情况下,即使没有 Http Via头和
Http X ForwaRded For头,如果存在 Http Proxy ConneCtion头,
会被认为在使用普通匿名代理。
我们提供了一个代理类型检测接口,在浏览器中访问该接口即可显示出你当前
使用的代理类型(如下图)
http://proxies.site-digger.com/proxy-detect,
G0proxies.site-digger.com/proxy-detect/
代理类型:普通匿名代理
RE0 TE ADDR=121,14,9,75
Http Via=1.1 scngateway. ctfwebcn. local
Http X ForwArded For=无该头
Http Proxy c0 NNECTI0N=无该头
鲲鹏数据
鲲鹏在线HTP代理测试工具
http://proxies.site-digger.com/proxy-test/
鲲鹏数据提供多种代理方案,详情请查看这里
http://www.site-digger.com/html/proxies.html
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.