Unable to make php curl request with port number

52,132

Solution 1

Try to set the port like this:

curl_setopt($ch, CURLOPT_PORT, $_SERVER['SERVER_PORT']);

or:

curl_setopt($ch, CURLOPT_PORT, 8088);

Solution 2

Try to set

curl_setopt($ch,CURLOPT_PORT, 8088);

See more info http://php.net/manual/en/function.curl-setopt.php

Solution 3

Add

curl_setopt($ch, CURLOPT_PORT, 8088);

Curl_setopt reference

Solution 4

"setsebool httpd_can_network_connect on" resolves the problem for me

Solution 5

Make sure that the port 8080 is enabled in Cent OS

and try this curl_setopt($ch, CURLOPT_PORT, 8088);

Share:
52,132
druveen
Author by

druveen

Hi , i am enthusiast web developer.

Updated on October 18, 2020

Comments

  • druveen
    druveen over 3 years

    I am unable to make a php curl request with port number , without port number i am getting response properly.

    Through terminal when i do curl http://www.sample.com:8088 i am getting response back properly. But not through php curl on doing curl_inf() i am getting

    Array ( [url] => http://www.sample.com:8088/ [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => 0 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0 [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 [certinfo] => Array ( ) ) 
    

    My code

    $url = "http://www.sample.com:8088/";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 400);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, True);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
    $report=curl_getinfo($ch);
    print_r($report);
    $result = curl_exec($ch);
    curl_close($ch);
    echo $result;
    

    this code give me response from ubuntu , but not giving response from cent os if port number is specified.

    Please let me know the how to fix it.

    THanks in advance.

  • druveen
    druveen over 12 years
    i tried with curl_setopt($ch, CURLOPT_PORT, 8088); also but same result. I have also tried by removing curl_setopt($ch, CURLOPT_PORT, 8088);
  • PvdL
    PvdL about 10 years
    Disabling the entire SE Linux just to get curl to accept port numbers in the URL can't be a solution, a temp work-around at best but absolutely not something for the long run.
  • haindl
    haindl over 7 years
    Ok, but why? Please add some kind of explanation to your answer so that others know why this worked for you.
  • Jason
    Jason about 6 years
    This should NOT be an accepted answer. The answer by Mario should suffice.