PHP sunucu üzerinde uzaktan veri yükleme

4 Cevap php

Benim php kodunda uzak bir URL'den içerik yüklemeye çalışıyorum. İki kısıtlamalar vardır:

  1. Ben öyle diğer sunucu REMOTE_ADDR benim özel bir IP olmalıdır zorunda adanmış sunucu IP kullanmak gerekir. Curl uzak URL yüklemek için bir proxy kullanır ve vekil çalışmıyor IP adresini değiştirir çünkü bu Curl ortadan kaldırır.

  2. Ben PHP kullanarak benim arka uç veri yüklemek gerekir. Ben güvenlik nedeniyle JavaScript kullanmak istemiyorum.

Sonra Curl başka hiçbir çözüm var mı?

Teşekkür ederim

4 Cevap

stream api ve (1) gerçekleştirmek için bindto context parameter ayarlayabilirsiniz soket-sarıcı kullanan bir sarıcı kullanırken:

Used to specify the IP address (either IPv4 or IPv6) and/or the port number that PHP will use to access the network. The syntax is ip:port. Setting the IP or the port to 0 will let the system choose the IP and/or port.
$ctx = stream_context_create( array(
  'socket' => array(
    'bindto' => '192.168.0.107:0',
   )
));

$c= file_get_contents('http://php.net', 0, $ctx);

Peki file_get_contents($url)? Sadece bazı web siteleri bir user-agent gerektirdiğini unutmayın, bu yüzden arama yapmadan önce ini_set() ile bir ayarlamak gerekir.

Muhtemelen bunun için fopen kullanabilirsiniz.

Denedim file_get_contents

<?php
$homepage = file_get_contents('http://www.stackoverflow.com/');
echo $homepage;
?>