Curl

来自技术笔记
跳到导航 跳到搜索

proxy[编辑 | 编辑源代码]

<?php
$targetUrl = "https://api.example.com/ip";

// 代理服务器
$proxyServer = "http://example2.com:2333";

$ch = curl_init();

// 请求地址
curl_setopt($ch, CURLOPT_URL, $targetUrl);

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, false); // 这个代码可以用,但不太懂为什么是关闭的

// 不验证 SSL 是否正常
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// 设置代理类型
curl_setopt($ch, CURLOPT_PROXYTYPE, 0); // http

// curl_setopt($ch, CURLOPT_PROXYTYPE, 5); // sock5

// 代理服务器地址
curl_setopt($ch, CURLOPT_PROXY, $proxyServer);

// 设置隧道验证信息
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);

// User-Agent
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;)");

// 连接超时
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);

// 请求超时
curl_setopt($ch, CURLOPT_TIMEOUT, 5);

// 会打印头部信息
curl_setopt($ch, CURLOPT_HEADER, true);

// 將 curl_exec() 获取到的信息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 执行
$result = curl_exec($ch);

// 关闭句柄
curl_close($ch);

// 打印结果
var_dump($result);