select outgoing ip for curl request

Sergey picture Sergey · Mar 11, 2010 · Viewed 36.3k times · Source

I have a server with two different IPs. I need to send odd curl requests from first IP, and even from the second one. How can I select outgoing IP address?

My PHP script is something like this:

$curlh = curl_init($url);
curl_setopt($curlh, CURLOPT_USERAGENT, $uagent);
curl_setopt($curlh, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curlh);

How can I do so?

Answer

Daniel Vassallo picture Daniel Vassallo · Mar 11, 2010

You may want to try setting the CURLOPT_INTERFACE option:

curl_setopt($curlh, CURLOPT_INTERFACE, "xxx.xxx.xxx.xxx");

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

From: php Manual: curl_setopt


EDIT: Fixing example, as @Michael Hart pointed out pointed out in the other answer.