如何在PHP中使用代理示例
<?php
// 请求地址 简单提取 具体需要根据实际情况获取 记得添加白名单 一般白名单添加后,10秒左右才生效
$api = ''; // 这里填写你购买后生成的API网址,如果没有或者不会,请找客服 如:http://www.soyunip.com/api?ddbh=s8349453653
try {
$ch = curl_init($api);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 超时设置为10秒
$response = curl_exec($ch);
if ($response === false) {
throw new Exception('cURL Error: ' . curl_error($ch));
}
curl_close($ch);
$ip = trim($response); // 返回的内容如:125.26.21.154:13456
// 如果返回是多行多个代理信息的,需要解析一下
$ips = explode("\r\n", $ip); // 这里返回多行多个代理IP,默认是以\r\n分隔符的
if (!empty($ips)) {
$myip = $ips[0]; // 这里取第一个代理IP 实际应用时,根据需要自己选择
} else {
throw new Exception("No valid IP address found in response");
}
// 代理服务器
$ipport = "http://" . $myip;
// 下面举例是你要访问的网站链接
$url = "http://myip.ipip.net";
$proxyCh = curl_init($url);
curl_setopt($proxyCh, CURLOPT_RETURNTRANSFER, true);
curl_setopt($proxyCh, CURLOPT_PROXY, $ipport);
curl_setopt($proxyCh, CURLOPT_HTTPHEADER, array()); // 根据自己业务逻辑填写头信息,这部分可以省略
$res = curl_exec($proxyCh);
if ($res === false) {
throw new Exception('cURL Error: ' . curl_error($proxyCh));
}
curl_close($proxyCh);
echo $res; // 打印返回的内容
} catch (Exception $e) {
echo "An error occurred: " . $e->getMessage();
}
?>