php curl使用ss代理
1、安装 ss,过程略
2、ss 配置文件
{
"server":"x.x.x.x", #你的 ss 服务器 ip
"server_port":0, #你的 ss 服务器端口
"local_address": "127.0.0.1", #本地ip
"local_port":0, #本地端口
"password":"password", #连接 ss 密码
"timeout":300, #等待超时
"method":"aes-256-cfb", #加密方式
"workers": 1 #工作线程数
}
对于阿里云不开放端口的,本地ip请设置为 0.0.0.0
mac 下安装 ss-local:(这里需要注意的是,brew start 下面的服务并不是我们要的效果,我们需要通过命令启动 ss-local)
brew install (ss)-libev
ss-local -s xxx.xxx(socks服务器) -p 32294(socks服务器端口) -l 1080(ss-local本地使用端口) -k xxx(密码) -m aes-256-cfb -b 0.0.0.0
上面的 (ss) 是敏感字,自行替换
3、测试:
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
上面1080是本地绑定的端口,后面的域名可以用 google 什么的(但是这样好像并不能FQ)
4、privoxy(这个是关键)
到 privoxy 官网下载源码编译安装: https://www.privoxy.org/
安装方式,进入源码目录,执行以下命令:
autoheader && autoconf ./configure make && make install
5、配置
vi /usr/local/etc/privoxy/config
在最后添加一行:
forward-socks5t / 127.0.0.1:1080 .
上面最后的点号不能少,上面的端口号是 ss local 绑定的本地端口
6、useradd privoxy
7、启动 privoxy
privoxy --user privoxy /usr/local/etc/privoxy/config
8、命令行测试
export http_proxy=http://127.0.0.1:8118 export https_proxy=http://127.0.0.1:8118
这里的端口和上面 privoxy 中监听的端口号保持一致。
curl www.google.com
也可以把 export 那两行写到 profile 里面。
9、最终目的:php 里面的 curl 使用代理
<?php
$url = "https://www.facebook.com";
$ch = curl_init();
if($ch === false)
{
die('Failed to create curl object');
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 0 直接输出,1返回值
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8118');
$data = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
var_dump($error);
} else {
var_dump($data);
}
当然了,前提是,你的 ss 服务器真的可以FQ。
php curl使用ss代理的更多相关文章
- linux终端使用ss代理
title: linux终端使用ss代理 date: 2017-11-09 21:06:16 tags: linux categories: linux 系统为archlinux 先将ss代理转化为h ...
- git 设置ss代理
git config --global https.proxy http://127.0.0.1:1080 git config --global https.proxy https:// ...
- 如何让 curl 命令通过代理访问
如何让 curl 命令通过代理访问 Linux.中国 - 开源中文社区 2018-01-18 8909 阅读 技术 我的系统管理员给我提供了如下代理信息: IP: 202.54.1.1 Port: 3 ...
- Linux curl命令使用代理、以及代理种类介绍(转)
Linux curl命令使用代理.以及代理种类介绍 本文转自http://aiezu.com/article/linux_curl_proxy_http_socks.html,感谢作者 有时出于个 ...
- 虚拟机使用主机ss代理
环境Linux mint 设置好主机ss代理,并开启[允许来自局域网的链接] 在Linux虚拟机的system setting-network手动设置代理 地址全部填入刚刚的主机地址,端口号为主机ss ...
- ssh协议git利用ss代理
前言 不知道ss为何物的绕道 求帐号的绕道 这里只是亲测 ssh协议下的git, 如何判断是什么协议出门左拐 判断是否需要代理 我遇到的问题是: ssh_exchange_identification ...
- 主机设置ss代理,虚拟机共享代理
代理的原理: 关于代理的具体的书面定义你百度谷歌可以知道.这里,我想简单通过一个例子,说明代理的原理: 假如,你在北京,但你女朋友在广州,你有东西要给你的女朋友,但是正好你这几天公司有事,所以你不能去 ...
- windows命令行经ss代理
set http_proxy=http://127.0.0.1:port set https_proxy=http://127.0.0.1:port ss设置,启用系统代理,pac模式
- Ubuntu 终端使用ss代理
用polipo软件,这个软件可以吧socket5转换成http代理 $ sudo apt-get install polipo $ sudo vim /etc/polipo/config 在文件中加入 ...
随机推荐
- springMVC 第一章
springMVC 第一章 一.分层结构的项目 组成方式: 表示层:页面,Servlet 业务层:业务逻辑类(service) 持久层:与数据库交互的类(dao) 程序执行的过程:表示层->se ...
- python错误记录
在主函数里调用其他函数时形参顺序要一致 错例如下:
- Linux下的计算器(bc、expr、dc、echo、awk)知多少?
linux 其他知识目录 原文链接:http://blog.chinaunix.net/uid-24673811-id-1760837.html linux下的三个命令可以用来作计算,下面一一讲解用法 ...
- Python爬虫入门(3-4):Urllib库的高级用法
1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它 是一段HTML代码,加 JS.CS ...
- 经验之谈:10位顶级PHP大师的开发原则
导读:在Web开发世界里,PHP是最流行的语言之一,从PHP里,你能够很容易的找到你所需的脚本,遗憾的是,很少人会去用“最佳做法”去写一个PHP程序.这里,我们向大家介绍PHP的10种最佳实践,当然, ...
- C++ STL 优先队列 priority_queue 详解(转)
转自https://blog.csdn.net/c20182030/article/details/70757660,感谢大佬. 优先队列 引入 优先队列是一种特殊的队列,在学习堆排序的时候就有所了解 ...
- 测试与优化bugbugbugbug
单元测试
- 软工1816 · 第八次作业(课堂实战)- 项目UML设计(团队)
本次作业博客 团队信息 队名:起床一起肝活队 原组长: 白晨曦(101) 原组员: 李麒 (123) 陈德斌(104) 何裕捷(214) 黄培鑫(217) 王焕仁(233) 林志华(128) 乐忠豪( ...
- 第5章 首次登录与在线求助man page
首次登录系统 centos默认图像界面为GNOME. Linux默认情况下会提供6个Terminal来让用户登录,切换方式为ctrl+alt+[F1-F6],系统将这六个操作界面命名为tty1-tty ...
- jQuery之基本选择器
1. 是什么? - 有特定格式的字符串2. 作用 - 用来查找特定页面元素3. 基本选择器 - #id : id选择器 - element : 元素选择器 - .class : 属性选择器 - * : ...