php 使用curl模拟请求,如何使用https代理访问

cnaaa8 2017-08-25 03:00:31
注:不是模拟访问https的目标网站,而是使用https类型的代理服务器访问目标网站 ,比如 目标网站是http://www.qq.com,代理服务器的ip:123.123.123.123 端口是1234 代理服务器类型是https

现在已经写出来代理服务器类型是http的 ,但是https的该如何写呢,下面是代理服务器是http类型的代码


curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式
curl_setopt($ch, CURLOPT_PROXY, "112.123.249.111"); //代理服务器地址
curl_setopt($ch, CURLOPT_PROXYPORT, 9745); //代理服务器端口
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, ":"); //http代理认证帐号,username:password的格式
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //使用http代理模式,目前就是https类型的代理服务器该如何写呢

...全文
1801 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ97343436 2018-01-29
  • 打赏
  • 举报
回复
PHP文件头部加上常量定义: defined('CURLPROXY_HTTPS')?'':define('CURLPROXY_HTTPS', 2); 若是还有错误,就定义完整的curlproxy_type,如下: defined('CURLPROXY_HTTP')?'':define('CURLPROXY_HTTP', 0); defined('CURLPROXY_HTTP_1_0')?'':define('CURLPROXY_HTTP_1_0', 1); defined('CURLPROXY_HTTPS')?'':define('CURLPROXY_HTTPS', 2); defined('CURLPROXY_SOCKS4')?'':define('CURLPROXY_SOCKS4', 4); defined('CURLPROXY_SOCKS5')?'':define('CURLPROXY_SOCKS5', 5); defined('CURLPROXY_SOCKS4A')?'':define('CURLPROXY_SOCKS4A', 6); defined('CURLPROXY_SOCKS5_HOSTNAME')?'':define('CURLPROXY_SOCKS5_HOSTNAME', 7);
qq_38741240 2017-09-06
  • 打赏
  • 举报
回复
这个和https代理无关 直接加上ssl请求参数即可
cnaaa8 2017-08-28
  • 打赏
  • 举报
回复
引用 3 楼 fdipzone 的回复:
那就是不支持了 可以考虑直接使用shell_exec 执行curl来试试。
我还有个问题能帮我看下吗?是用伪静态做url重写 原地址 http://mytaobaoke/index.php?q=手机 (手机可能是数字,字母,汉字 ,符号等) 重定向到 index.php/index/index/q?q=手机 用在apache2.4上,以下是我的代码,一直不行

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
 
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^index.php?q=(.*)$ index.php/index/index/q?q=$1 [QSA,PT,L]
</IfModule>
傲雪星枫 2017-08-28
  • 打赏
  • 举报
回复
那就是不支持了 可以考虑直接使用shell_exec 执行curl来试试。
cnaaa8 2017-08-28
  • 打赏
  • 举报
回复
引用 1 楼 fdipzone 的回复:
http://php.net/manual/zh/function.curl-setopt.php CURLOPT_PROXYTYPE 可以是 CURLPROXY_HTTP (默认值) CURLPROXY_SOCKS4、 CURLPROXY_SOCKS5、 CURLPROXY_SOCKS4A 或 CURLPROXY_SOCKS5_HOSTNAME。 估计php-curl不支持https代理。 不过libcurl实际上是支持的 https://curl.haxx.se/libcurl/c/CURLOPT_PROXYTYPE.html CURLPROXY_HTTPS HTTPS Proxy. (Added in 7.52.0 for OpenSSL, GnuTLS and NSS) 可以把CURLOPT_PROXYTYPE设为CURLPROXY_HTTPS试试
试了下 直接提示 Use of undefined constant CURLPROXY_HTTPS - assumed 'CURLPROXY_HTTPS'
傲雪星枫 2017-08-26
  • 打赏
  • 举报
回复
http://php.net/manual/zh/function.curl-setopt.php
CURLOPT_PROXYTYPE
可以是 CURLPROXY_HTTP (默认值) CURLPROXY_SOCKS4、 CURLPROXY_SOCKS5、 CURLPROXY_SOCKS4A 或 CURLPROXY_SOCKS5_HOSTNAME。

估计php-curl不支持https代理。

不过libcurl实际上是支持的

https://curl.haxx.se/libcurl/c/CURLOPT_PROXYTYPE.html
CURLPROXY_HTTPS

HTTPS Proxy. (Added in 7.52.0 for OpenSSL, GnuTLS and NSS)

可以把CURLOPT_PROXYTYPE设为CURLPROXY_HTTPS试试

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧