ameliabob Posted August 16, 2018 Share Posted August 16, 2018 I am trying to get to a site with the following code: $syms ="T,IBM"; $closeDict = array(); $url = "https://api.iextrading.com/1.0/stock/market/batch?types=quote&filter=symbol,latestPrice,&symbols="+$syms; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $jresult = curl_exec($ch); $info = curl_getinfo($ch); echo(print_r($info)); echo("alertjresult is ".$jresult); and several things are or are not happening. 1) the url doesn't get put into the header 2) There is no response Notice the alerts at the end. I seem to recall reading that there is an option to set when accessing a https site. However there is no password or other sign in function. If you cut and paste the url into a browser it operates just fine. What I have I overlooked?? [code}] Array ( => http://0/ [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 1.594 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => [certinfo] => Array ( ) [primary_port] => 0 [local_ip] => [local_port] => 0 ) 1alertjresult is alertresult is [/code] Link to comment Share on other sites More sharing options...
justsomeguy Posted August 16, 2018 Share Posted August 16, 2018 the url doesn't get put into the header What does that mean? The first element in the array says http://0/, so your URL is "0". That's because you're using the plus sign on the line where you define the URL, and the plus sign is for addition. You use a dot to concatenate strings. Link to comment Share on other sites More sharing options...
ameliabob Posted August 16, 2018 Author Share Posted August 16, 2018 OK, My error moving from Javascript to PHP. Fixed that and now get but still nothing back Array ( [url] => https://api.iextrading.com/1.0/stock/market/batch?types=quote&filter=symbol,latestPrice,&symbols=T,IBM [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 20 [redirect_count] => 0 [total_time] => 0.156 [namelookup_time] => 0.047 [connect_time] => 0.11 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => 35.224.167.123 [certinfo] => Array ( ) [primary_port] => 443 [local_ip] => 10.0.0.167 [local_port] => 53785 ) 1alertjresult is alertresult is putting the url into a browser gives the answer result as {"T":{"quote":{"symbol":"T","latestPrice":32.97}},"IBM":{"quote":{"symbol":"IBM","latestPrice":145.23}}} Now what is missing?? Link to comment Share on other sites More sharing options...
justsomeguy Posted August 16, 2018 Share Posted August 16, 2018 Well, the HTTP code of 0 indicates that there's a problem, because that's not a valid response code. You need to check if curl_exec returns false and print an error message. http://php.net/manual/en/function.curl-error.php Link to comment Share on other sites More sharing options...
ameliabob Posted August 16, 2018 Author Share Posted August 16, 2018 Just to close the loop and in case others are looking for the same solution. I put in the line "echo 'Curl error: '.curl_error($ch);" and found that the error was SSL Then since putting the url in the browser didn't ask for any user name and password I added the following line to the curl options curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); The false parameter says something to the effect 'don't care about verifying' and allows it to do its thing. and it works!! Thanks for getting me on the right path. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now