tags:

views:

69

answers:

2

I have a server with different IPs assigned, how can I specifiy a different IP to be used by cURL?

A: 

Here quick tip

$tuCurl = curl_init(); 
curl_setopt($tuCurl, CURLOPT_URL, "http://ip/path");
//curl_setopt($tuCurl, CURLOPT_URL, "http://domain");

example in ubuntu

change /etc/apache2/sites-available/default

curl_setopt($tuCurl, CURLOPT_URL, "http://project1.local");
curl_setopt($tuCurl, CURLOPT_URL, "http://127.0.0.1/project1");
JapanPro
Isn't it possible to pass IP just to `curl_init()`? For example: `$handler = curl_init('http://some_ip_address')` and then just use this handler in options (`curl_setopt`)?
Eugene
+1  A: 

You will have to use the CURLOPT_INTERFACE option:

The name of the outgoing network interface to use. This can be an interface name, an IP address or a host name.

It can be used in the following manner:

curl_setopt($ch, CURLOPT_INTERFACE, "XXX.XXX.XXX.XXX");

This ofcourse, only accepts IPs and hostnames from your local machine.

Russell Dias