Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

How to use CURLOPT_INTERFACE to make requests via multiple IP addresses

Posted on 2010-08-30
4
Medium Priority
?
3,374 Views
Last Modified: 2012-05-10
I have multiple IP's on my public CentOS box, and can make requests via all of them using PHP / cURL in the form
       
curl_setopt($ch, CURLOPT_INTERFACE, "xxx.xxx.xxx.xxx");

Open in new window


However, I want to pass in the relevant IP dynamically. When I try in the form:

curl_setopt($ch, CURLOPT_INTERFACE, $currentIP);

Open in new window


Where $currentIP contains the IP address (xxx.xxx.xxx.xxx) it fails.

Any suggestions?

Thanks
0
Comment
Question by:oldmoondog
  • 3
4 Comments
 
LVL 2

Accepted Solution

by:
Gatherer_Hade earned 750 total points
ID: 33559254
Make sure the ip address matches one that is bound to one of your network cards.  

Also, print out or otherwise inspect the value of the $currentIP variable.  I suspect it does not contain what you think it does.

0
 

Author Comment

by:oldmoondog
ID: 33559314
Hi,

Thanks for your response.
I have already printed out $currentIP value when debugging the script, and it's exactly what I expected.

When I hard code the IP into the       

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

it works fine.

Therefore I concluded it must be something to do with how I'm passing the value into the curl_setopt statement.

Have tried
$currentIP
"$currentIP"
'$currentIP'

No joy.

Thanks
0
 

Author Closing Comment

by:oldmoondog
ID: 33559593
You're right! Rechecked.
Previous test was not part of complete script.
Somehow $currentIP is empty!
Thanks
0
 

Author Comment

by:oldmoondog
ID: 33560125
To clarify, even once I had confirmed that $currentIP contained the correct value, it still didn't work.
The solution that works is to define the IP as a constant each time the script is called.

eg
define("CURRENT_IP", $arrIPs[0]);
curl_setopt($ch, CURLOPT_INTERFACE, CURRENT_IP);
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
This article discusses four methods for overlaying images in a container on a web page
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Learn how to set-up custom confirmation messages to users who complete your Wufoo form. Include inputs from fields in your form, webpage redirects, and more with Wufoo’s confirmation options.
Suggested Courses

824 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question