我正在尝试从我的PHP代码中加载远程URL中的内容。有两个限制:
我需要使用我拥有的专用服务器IP,因此其他服务器的REMOTE_ADDR必须是我的专用IP。这消除了Curl,因为Curl使用代理加载远程URL,代理更改了无效的IP地址。
我需要使用PHP在后端加载数据。出于安全原因,我不希望使用Javascript。
除了Curl之外还有其他解决方案吗?
谢谢
答案 0 :(得分:3)
file_get_contents($url)
怎么样?请注意,某些网站需要用户代理,因此您必须在拨打电话前设置ini_set()
。
答案 1 :(得分:1)
您可以使用fopen来实现此目的。
答案 2 :(得分:1)
您是否尝试过file_get_contents
<?php
$homepage = file_get_contents('http://www.stackoverflow.com/');
echo $homepage;
?>
答案 3 :(得分:1)
使用stream api和使用套接字包装器的包装器时,可以设置bindto context parameter来完成(1):
用于指定PHP将用于访问网络的IP地址(IPv4或IPv6)和/或端口号。语法是ip:port。将IP或端口设置为0将允许系统选择IP和/或端口。
$ctx = stream_context_create( array(
'socket' => array(
'bindto' => '192.168.0.107:0',
)
));
$c= file_get_contents('http://php.net', 0, $ctx);