程序中访问其它地址的时候使用代理访问的方法
Linux Wget
# 如果代理不需要用户名和密码,不写「[代理用户名]:[代理密码]@」即可
# 设置多个 Header 信息,是要写多个 header 参数即可
# -Y on 打开代理
wget -Y on -e "http_proxy=http://[代理用户名]:[代理密码]@代理地址:代理端口号" 访问的地址 -O 保存的路径和文件名称 --tries=重试次数 --retry-connrefused --timeout=超时时间 --header="User-Agent: UA信息" --header="Host: host 信息" --referer ="请求来源地址"
PHP cURL
// 代理协议 CURLPROXY_HTTP (默认值,代理为 HTTP、HTTPS 都设置此值)、 CURLPROXY_SOCKS4、 CURLPROXY_SOCKS5、 CURLPROXY_SOCKS4A、CURLPROXY_SOCKS5_HOSTNAME
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
// 代理地址
curl_setopt($ch, CURLOPT_PROXY, $strProxyServer);
// 代理端口号,也可以写在代理地址里面
curl_setopt($ch, CURLOPT_PROXYPORT, $strProxyPort);
// 代理的用户名和密码
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$strProxyUser:$strProxyPassWord");
PHP file_get_contents
无需账号密码的代理
$arrContext = [
'http' => [
'method' => 'GET',
'header' => [ // 设置 header 头
'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:56.0) Gecko/20100101 Firefox/56.0',
.... 其它想设置的信息
],
'proxy' => 'tcp://代理地址:代理端口号',
'timeout' => 10,
'request_fulluri' => true,
],
];
$resContext = stream_context_create($arrContext);
$strContents = file_get_contents('需要访问的地址', false, $resContext);
需要账号密码的代理
$strProxyAuth = base64_encode('代理账号:代理密码');
$arrContext = [
'http' => [
'method' => 'GET',
'header' => [ // 设置 header 头
'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:56.0) Gecko/20100101 Firefox/56.0',
"Proxy-Authorization: Basic $strProxyAuth",
],
'proxy' => 'tcp://代理地址:代理端口号',
'timeout' => 5,
'request_fulluri' => true,
],
];
$resContext = stream_context_create($arrContext);
$strContents = file_get_contents('需要访问的地址', false, $resContext);

本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。
微信扫一扫:分享
微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
随喜
