Re: [PHP] Re: fsockopen on ssl://

2008-05-19 Thread bob pilly
Hi

Apache is serving php correctly and i can see this from a ?php phpinfo(); ? 
and everything else works fine just this one call to fsockopen using ssl://. Is 
there some sort of extra configuration required for apache to be able to do 
this that i am not aware of?

Bob


- Original Message 
From: Ólafur Waage [EMAIL PROTECTED]
To: php-general@lists.php.net
Sent: Monday, 19 May, 2008 10:26:58 AM
Subject: Re: [PHP] Re: fsockopen on ssl://

Are you doing the command line on the same machine as the server?
Have you checked out the apache configuration? Since phpcli runs alone. (iirc)

2008/5/18 bob pilly [EMAIL PROTECTED]:
 Hi Manuel

 Thanks for the reply. I have tested it with a timeout of 20 seconds and the 
 same thing occurs. It works as before from the command line and not form 
 within apache.. Any more ideas?

 Cheers

 Bob


 - Original Message 
 From: Manuel Lemos [EMAIL PROTECTED]
 To: bob pilly [EMAIL PROTECTED]
 Cc: php-general@lists.php.net
 Sent: Wednesday, 14 May, 2008 4:26:41 PM
 Subject: Re: fsockopen on ssl://

 Hello,

 on 05/13/2008 04:37 PM bob pilly said the following:
 Hi all

 I have tried researching this issue but havent come up with any solution so 
 im hoping someone has seen it before and can help. I have the following test 
 script that uses fsockopen to connect to a https site, get the contents and 
 outputs it.

 ?php
 $host = www.microsoft.com;
 $path = /;
 $fh = fsockopen(ssl://.$host, 443, $errno, $errstr, 5);//opens url for 
 reading with a timeout of 2 seconds

 if (!$fh){
 echo FAIL: $errno $errstr ;
 }
 else{
 $out = GET $path HTTP/1.1\r\n;
 $out .= Host: $host\r\n;
 $out .= Connection: Close\r\n;
 $out .= \r\n;
 fwrite($fh, $out);
 stream_set_timeout($fh,2);
 $info = stream_get_meta_data($fh);
 if($info['timed_out']){
 echo TIMEOUT\n;
 }
 else{
 $haystack = ;
 while (!feof($fh)) {
 $haystack.= fgets($fh, 4096);
 }
 }
 print $haystack;
 fclose($fh);
 }
 ?

 if i run this script using php -f test.php it works fine. However if i try 
 and run this on my loca apache server i get the following error:

 Warning:  fsockopen() [function.fsockopen]:unable to connect to 
 ssl://www.microsoft.com:443 (A connection attemptfailed because the 
 connected party did not properly respond after aperiod of time, or 
 established connection failed because connected hosthas failed to respond.) 
 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test.php on 
 line 4
 FAIL: 10060 A connection attempt failed because the connected party didnot 
 properly respond after a period of time, or established connectionfailed 
 because connected host has failed to respond.

 As you can see from that error i am using windows and apache 2.2. My php 
 version is 5.25. I have Registered Stream Socket Transports tcp, udp, ssl, 
 sslv3, sslv2, tlsin my config.

 I suspect that you are giving a very short timeout but then you are not
 handling the timeout error properly.

 Anyway, before reinventing the wheel, you may to try this HTTP client
 class that supports many options including establishing SSL corrections
 and setting and handling timeouts correctly.

 http://www.phpclasses.org/httpclient

 --

 Regards,
 Manuel Lemos

 PHP professionals looking for PHP jobs
 http://www.phpclasses.org/professionals/

 PHP Classes - Free ready to use OOP components written in PHP
 http://www.phpclasses.org/



  __
 Sent from Yahoo! Mail.
 A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


  __
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html

[PHP] Re: fsockopen on ssl://

2008-05-18 Thread bob pilly
Hi Manuel

Thanks for the reply. I have tested it with a timeout of 20 seconds and the 
same thing occurs. It works as before from the command line and not form within 
apache.. Any more ideas?

Cheers

Bob


- Original Message 
From: Manuel Lemos [EMAIL PROTECTED]
To: bob pilly [EMAIL PROTECTED]
Cc: php-general@lists.php.net
Sent: Wednesday, 14 May, 2008 4:26:41 PM
Subject: Re: fsockopen on ssl://

Hello,

on 05/13/2008 04:37 PM bob pilly said the following:
 Hi all
 
 I have tried researching this issue but havent come up with any solution so 
 im hoping someone has seen it before and can help. I have the following test 
 script that uses fsockopen to connect to a https site, get the contents and 
 outputs it.
 
 ?php
 $host = www.microsoft.com;
 $path = /;
 $fh = fsockopen(ssl://.$host, 443, $errno, $errstr, 5);//opens url for 
 reading with a timeout of 2 seconds
 
 if (!$fh){
 echo FAIL: $errno $errstr ;
 }
 else{
 $out = GET $path HTTP/1.1\r\n;
 $out .= Host: $host\r\n;
 $out .= Connection: Close\r\n;
 $out .= \r\n;
 fwrite($fh, $out);
 stream_set_timeout($fh,2);
 $info = stream_get_meta_data($fh);
 if($info['timed_out']){
 echo TIMEOUT\n;
 }
 else{
 $haystack = ;
 while (!feof($fh)) {
 $haystack.= fgets($fh, 4096);
 }
 }
 print $haystack;
 fclose($fh);
 }
 ?
 
 if i run this script using php -f test.php it works fine. However if i try 
 and run this on my loca apache server i get the following error:
 
 Warning:  fsockopen() [function.fsockopen]:unable to connect to 
 ssl://www.microsoft.com:443 (A connection attemptfailed because the connected 
 party did not properly respond after aperiod of time, or established 
 connection failed because connected hosthas failed to respond.) in C:\Program 
 Files\Apache Software Foundation\Apache2.2\htdocs\test.php on line 4
 FAIL: 10060 A connection attempt failed because the connected party didnot 
 properly respond after a period of time, or established connectionfailed 
 because connected host has failed to respond.
 
 As you can see from that error i am using windows and apache 2.2. My php 
 version is 5.25. I have Registered Stream Socket Transports tcp, udp, ssl, 
 sslv3, sslv2, tlsin my config.

I suspect that you are giving a very short timeout but then you are not
handling the timeout error properly.

Anyway, before reinventing the wheel, you may to try this HTTP client
class that supports many options including establishing SSL corrections
and setting and handling timeouts correctly.

http://www.phpclasses.org/httpclient

-- 

Regards,
Manuel Lemos

PHP professionals looking for PHP jobs
http://www.phpclasses.org/professionals/

PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/



  __
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html

Re: [PHP] Re: fsockopen on ssl://

2008-05-18 Thread Ólafur Waage
Are you doing the command line on the same machine as the server?
Have you checked out the apache configuration? Since phpcli runs alone. (iirc)

2008/5/18 bob pilly [EMAIL PROTECTED]:
 Hi Manuel

 Thanks for the reply. I have tested it with a timeout of 20 seconds and the 
 same thing occurs. It works as before from the command line and not form 
 within apache.. Any more ideas?

 Cheers

 Bob


 - Original Message 
 From: Manuel Lemos [EMAIL PROTECTED]
 To: bob pilly [EMAIL PROTECTED]
 Cc: php-general@lists.php.net
 Sent: Wednesday, 14 May, 2008 4:26:41 PM
 Subject: Re: fsockopen on ssl://

 Hello,

 on 05/13/2008 04:37 PM bob pilly said the following:
 Hi all

 I have tried researching this issue but havent come up with any solution so 
 im hoping someone has seen it before and can help. I have the following test 
 script that uses fsockopen to connect to a https site, get the contents and 
 outputs it.

 ?php
 $host = www.microsoft.com;
 $path = /;
 $fh = fsockopen(ssl://.$host, 443, $errno, $errstr, 5);//opens url for 
 reading with a timeout of 2 seconds

 if (!$fh){
 echo FAIL: $errno $errstr ;
 }
 else{
 $out = GET $path HTTP/1.1\r\n;
 $out .= Host: $host\r\n;
 $out .= Connection: Close\r\n;
 $out .= \r\n;
 fwrite($fh, $out);
 stream_set_timeout($fh,2);
 $info = stream_get_meta_data($fh);
 if($info['timed_out']){
 echo TIMEOUT\n;
 }
 else{
 $haystack = ;
 while (!feof($fh)) {
 $haystack.= fgets($fh, 4096);
 }
 }
 print $haystack;
 fclose($fh);
 }
 ?

 if i run this script using php -f test.php it works fine. However if i try 
 and run this on my loca apache server i get the following error:

 Warning:  fsockopen() [function.fsockopen]:unable to connect to 
 ssl://www.microsoft.com:443 (A connection attemptfailed because the 
 connected party did not properly respond after aperiod of time, or 
 established connection failed because connected hosthas failed to respond.) 
 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test.php on 
 line 4
 FAIL: 10060 A connection attempt failed because the connected party didnot 
 properly respond after a period of time, or established connectionfailed 
 because connected host has failed to respond.

 As you can see from that error i am using windows and apache 2.2. My php 
 version is 5.25. I have Registered Stream Socket Transports tcp, udp, ssl, 
 sslv3, sslv2, tlsin my config.

 I suspect that you are giving a very short timeout but then you are not
 handling the timeout error properly.

 Anyway, before reinventing the wheel, you may to try this HTTP client
 class that supports many options including establishing SSL corrections
 and setting and handling timeouts correctly.

 http://www.phpclasses.org/httpclient

 --

 Regards,
 Manuel Lemos

 PHP professionals looking for PHP jobs
 http://www.phpclasses.org/professionals/

 PHP Classes - Free ready to use OOP components written in PHP
 http://www.phpclasses.org/



  __
 Sent from Yahoo! Mail.
 A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Re: fsockopen on ssl://

2008-05-13 Thread Manuel Lemos
Hello,

on 05/13/2008 04:37 PM bob pilly said the following:
 Hi all
 
 I have tried researching this issue but havent come up with any solution so 
 im hoping someone has seen it before and can help. I have the following test 
 script that uses fsockopen to connect to a https site, get the contents and 
 outputs it.
 
 ?php
 $host = www.microsoft.com;
 $path = /;
 $fh = fsockopen(ssl://.$host, 443, $errno, $errstr, 5);//opens url for 
 reading with a timeout of 2 seconds
 
 if (!$fh){
 echo FAIL: $errno $errstr ;
 }
 else{
 $out = GET $path HTTP/1.1\r\n;
 $out .= Host: $host\r\n;
 $out .= Connection: Close\r\n;
 $out .= \r\n;
 fwrite($fh, $out);
 stream_set_timeout($fh,2);
 $info = stream_get_meta_data($fh);
 if($info['timed_out']){
 echo TIMEOUT\n;
 }
 else{
 $haystack = ;
 while (!feof($fh)) {
 $haystack.= fgets($fh, 4096);
 }
 }
 print $haystack;
 fclose($fh);
 }
 ?
 
 if i run this script using php -f test.php it works fine. However if i try 
 and run this on my loca apache server i get the following error:
 
 Warning:  fsockopen() [function.fsockopen]:unable to connect to 
 ssl://www.microsoft.com:443 (A connection attemptfailed because the connected 
 party did not properly respond after aperiod of time, or established 
 connection failed because connected hosthas failed to respond.) in C:\Program 
 Files\Apache Software Foundation\Apache2.2\htdocs\test.php on line 4
 FAIL: 10060 A connection attempt failed because the connected party didnot 
 properly respond after a period of time, or established connectionfailed 
 because connected host has failed to respond.
 
 As you can see from that error i am using windows and apache 2.2. My php 
 version is 5.25. I have Registered Stream Socket Transports tcp, udp, ssl, 
 sslv3, sslv2, tlsin my config.

I suspect that you are giving a very short timeout but then you are not
handling the timeout error properly.

Anyway, before reinventing the wheel, you may to try this HTTP client
class that supports many options including establishing SSL corrections
and setting and handling timeouts correctly.

http://www.phpclasses.org/httpclient

-- 

Regards,
Manuel Lemos

PHP professionals looking for PHP jobs
http://www.phpclasses.org/professionals/

PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php