我位于公司代理/防火墙后面。我想从另一个网站提取信息,并尝试使用 php 和 curl 来实现。
我的脚本如下:
===================== 脚本开始 =================
$url = "www.guptaed.com"; $proxy_ip = "12.34.56.78"; // ip changed from real company proxy $proxy_port = "81"; $proxy_user_pass = "my_user_name:my_password"; // user&pass changed
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 5000); curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP'); curl_setopt($ch, CURLOPT_PROXY, $proxy_ip); curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_user_pass);
$data = curl_exec($ch); curl_close($ch); echo $data;
===================== 脚本结束 =================
当我调用此脚本(通过本地安装的 apache 服务器)时,屏幕上显示以下内容:
===================== 输出开始 =================
成立
该文件已移至此处。
1
===================== 输出结束 =================
上面句子中的“这里”是一个链接,其网址为:“http://www.guptaed.com/proxy.cgi?proxy.pac“
任何帮助将不胜感激。
谢谢!Ashish
答案1
目标 URL 返回了 302 HTTP 响应代码,用于将您重定向到另一个 URL。这就是您在使用另一个 URL 时获得“已找到”结果的原因。
尝试配置 curl 以遵循重定向:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);