Otóż problem mam następujący:

mam przypisane do serwera dwa adresy IP:

powiedzmy:
83.6.31.32 oraz 83.6.32.94

Głównym adresem jest 83.6.31.32 i pobranie curlem strony http://www.whatismyip.org/ zwraca właśnie go.
Czy jest jakiś sposób, żeby dać do zrozumienia curlowi, którego z nich ma używać?

Znalazłem coś takiego:
  1. echo http_socket::download('http://something.com', '55.55.44.33');
  2.  
  3. final class http_socket
  4. {
  5. static public function download($url, $bind_ip = false)
  6. {
  7. $components = parse_url($url);
  8. if(!isset($components['query'])) $components['query'] = false;
  9.  
  10. if(!$bind_ip)
  11. {
  12. $bind_ip = $_SERVER['SERVER_ADDR'];
  13. }
  14.  
  15. $header = array();
  16. $header[] = 'GET ' . $components['path'] . ($components['query'] ? '?' . $components['query'] : '');
  17. $header[] = 'Host: ' . $components['host'];
  18. $header[] = 'User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7';
  19. $header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
  20. $header[] = 'Accept-Language: en-us,en;q=0.5';
  21. $header[] = 'Accept-Encoding: gzip,deflate';
  22. $header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
  23. $header[] = 'Keep-Alive: 300';
  24. $header[] = 'Connection: keep-alive';
  25. $header = implode("\n", $header) . "\n\n";
  26. $packet = $header;
  27.  
  28. //----------------------------------------------------------------------
  29. // Connect to server
  30. //----------------------------------------------------------------------
  31. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  32. socket_bind($socket, $bind_ip);
  33. socket_connect($socket, $components['host'], 80);
  34.  
  35. //----------------------------------------------------------------------
  36. // Send First Packet to Server
  37. //----------------------------------------------------------------------
  38. socket_write($socket, $packet);
  39. //----------------------------------------------------------------------
  40. // Receive First Packet to Server
  41. //----------------------------------------------------------------------
  42. $html = '';
  43. while(1) {
  44. socket_recv($socket, $packet, 4096, MSG_WAITALL);
  45. if(empty($packet)) break;
  46. $html .= $packet;
  47. }
  48. socket_close($socket);
  49.  
  50. return $html;
  51. }
  52. }


i to rzeczywiście działa, jednak wolałbym korzystać z dobrodziejstw curla.

Z góry dziękuję za pomoc.