php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #29958 cURL https request fails when connecting to IP (not domain)
Submitted: 2004-09-02 21:21 UTC Modified: 2004-09-03 20:26 UTC
From: ryan dot hansen at usa dot net Assigned:
Status: Not a bug Package: cURL related
PHP Version: 4.3.8 OS: Debian
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: ryan dot hansen at usa dot net
New email:
PHP Version: OS:

 

 [2004-09-02 21:21 UTC] ryan dot hansen at usa dot net
Description:
------------
When attempting to connect to an IP address (not a domain) over SSL using cURL (7.9.5), there is no response, no errors, etc.  I get nothing.  When I test the same script with a domain (a different server), I get a response as expected.  When I test it with the correct IP address over HTTP (non-secure), I also get a response as expected.

The problem, however, is that the server that I have to connect to for the app I'm building does not have a domain, only an IP address and it must be a secure connection.  

I admit that I could be missing something, but I can't figure out what it is and I've tested it pretty thoroughly under multiple scenarios.

Reproduce code:
---------------
$postdata = "POST DATA TO POST TO SERVER";

// use appropriate IP, of course
$ch = curl_init("https://xxx.xxx.xxx.xxx"); 
curl_setopt($ch, CURL_POST, 1);
curl_setopt($ch, CURL_POSTFIELDS, $postdata);
curl_setopt($ch, CURL_ERROR, 1);
curl_setopt($ch, CURL_RETURNTRANSFER, 1);
$retval = curl_exec($ch);
curl_close($ch);

// print result for testing
echo $retval;
exit;


Expected result:
----------------
The echo statement should print the web page data from the IP to the screen, and it does when I test with non-secure IP or domain.

Actual result:
--------------
Nothing. The echo statement doesn't seem to print anything.  No cURL errors, no results, no PHP warnings or errors.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-09-02 21:28 UTC] ryan dot hansen at usa dot net
I should mention that this same code DOES work on a different requesting server (FreeBSD 4.4; PHP 4.2.3)
 [2004-09-03 14:38 UTC] daniel at haxx dot se
curl 7.9.5 was released some 30 months ago. Do I need to say more?
 [2004-09-03 15:01 UTC] derick@php.net
Good point Daniel, marking this as bogus. Upgrade first!
 [2004-09-03 20:26 UTC] ryan dot hansen at usa dot net
Nope, it's not a problem with the curl version (as I knew it wouldn't be).  I upgraded to 7.12 and still had the problem.  Turns out I had to set the CURLOPT_VERIFYHOST to false so it wouldn't try to resolve the domain name with the SSL certificate.

I don't know if you'd still call it a bug, but this would have been much easier to solve if I had received some kind of error message to that effect.  I had PHP error messages turned on and the CURLOPT_ERROR option turned on, so I should have gotten something, but I didn't.

Anyway, it's fixed now.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Dec 30 14:01:28 2024 UTC