Re: [PHP] curl_exec not hit server
You could also try checking the SSL log. This may give hints about the problem; none of the HTTP conversation happens until after SSL has been negotiated. Jerry Wilborn jerrywilb...@gmail.com On Fri, Aug 7, 2009 at 1:16 PM, Tom Worster wrote: > On 8/6/09 2:33 PM, "Ted Yu" wrote: > > > > > Hi, > > I use the following code to call third party web service: > > curl_setopt($ch, CURLOPT_URL, $url); > > curl_setopt($ch, CURLOPT_TIMEOUT, 120); > > curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); > > curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); > > curl_setopt($ch, CURLOPT_SSLVERSION, 3); > > curl_setopt($ch, CURLOPT_SSLCERT, $loc); > > curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $password); > > curl_setopt($ch, CURLOPT_HTTPHEADER, $this->_httpHeaders); > > curl_setopt($ch, CURLOPT_POST, 1); > > curl_setopt($ch, CURLOPT_POSTFIELDS, $this->_xmlData); > > $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); > > > > $xmlResponseData = curl_exec($ch); > > > > But for a specific API, curl_exec() returns true but there was no hit on > their > > server (as verified by contact in that company from server log) > > > > Can someone provide hint ? > > not me. > > but, if you haven't already, maybe try debugging by: print out the values > of > all the variables in the above code and with them (or some subset) try > making the same (or similar, or simpler) requests to the same $url using > curl the command line with verbosity or tracing turned on. > > curl might give the hint you need. > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >
Re: [PHP] curl_exec not hit server
On 8/6/09 2:33 PM, "Ted Yu" wrote: > > Hi, > I use the following code to call third party web service: > curl_setopt($ch, CURLOPT_URL, $url); > curl_setopt($ch, CURLOPT_TIMEOUT, 120); > curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); > curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); > curl_setopt($ch, CURLOPT_SSLVERSION, 3); > curl_setopt($ch, CURLOPT_SSLCERT, $loc); > curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $password); > curl_setopt($ch, CURLOPT_HTTPHEADER, $this->_httpHeaders); > curl_setopt($ch, CURLOPT_POST, 1); > curl_setopt($ch, CURLOPT_POSTFIELDS, $this->_xmlData); > $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); > > $xmlResponseData = curl_exec($ch); > > But for a specific API, curl_exec() returns true but there was no hit on their > server (as verified by contact in that company from server log) > > Can someone provide hint ? not me. but, if you haven't already, maybe try debugging by: print out the values of all the variables in the above code and with them (or some subset) try making the same (or similar, or simpler) requests to the same $url using curl the command line with verbosity or tracing turned on. curl might give the hint you need. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] curl_exec not hit server
Forgot to mention that there're other APIs on their server which I can call successfully. I did try turning off the two options below but result was the same. --- On Thu, 8/6/09, Jerry Wilborn wrote: > From: Jerry Wilborn > Subject: Re: [PHP] curl_exec not hit server > To: "Ted Yu" > Cc: php-general@lists.php.net > Date: Thursday, August 6, 2009, 12:02 PM > Can you tell us anything about the > cert on the host? Is it self signed, is it expired, etc? A > hip-shot: try turning off VERIFYPEER and VERIFYHOST. > > Jerry Wilborn > jerrywilb...@gmail.com > > > > > On Thu, Aug 6, 2009 at 1:33 PM, > Ted Yu > wrote: > > > > Hi, > > I use the following code to call third party web service: > > curl_setopt($ch, CURLOPT_URL, $url); > > curl_setopt($ch, CURLOPT_TIMEOUT, 120); > > curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); > > curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); > > curl_setopt($ch, CURLOPT_SSLVERSION, 3); > > curl_setopt($ch, CURLOPT_SSLCERT, $loc); > > curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $password); > > curl_setopt($ch, CURLOPT_HTTPHEADER, > $this->_httpHeaders); > > curl_setopt($ch, CURLOPT_POST, 1); > > curl_setopt($ch, CURLOPT_POSTFIELDS, $this->_xmlData); > > $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); > > > > $xmlResponseData = curl_exec($ch); > > > > But for a specific API, curl_exec() returns true but there > was no hit on their server (as verified by contact in that > company from server log) > > > > Can someone provide hint ? > > > > Thanks > > > > > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] curl_exec not hit server
Can you tell us anything about the cert on the host? Is it self signed, is it expired, etc? A hip-shot: try turning off VERIFYPEER and VERIFYHOST. Jerry Wilborn jerrywilb...@gmail.com On Thu, Aug 6, 2009 at 1:33 PM, Ted Yu wrote: > > Hi, > I use the following code to call third party web service: > curl_setopt($ch, CURLOPT_URL, $url); > curl_setopt($ch, CURLOPT_TIMEOUT, 120); > curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); > curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); > curl_setopt($ch, CURLOPT_SSLVERSION, 3); > curl_setopt($ch, CURLOPT_SSLCERT, $loc); > curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $password); > curl_setopt($ch, CURLOPT_HTTPHEADER, $this->_httpHeaders); > curl_setopt($ch, CURLOPT_POST, 1); > curl_setopt($ch, CURLOPT_POSTFIELDS, $this->_xmlData); > $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); > > $xmlResponseData = curl_exec($ch); > > But for a specific API, curl_exec() returns true but there was no hit on > their server (as verified by contact in that company from server log) > > Can someone provide hint ? > > Thanks > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >