Curl voegt een port toe waardoor hij faalt (opgelost)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mar groen

mar groen

06/04/2019 18:48:57
Quote Anchor link
Goedendag.
ik hoop hier wat hulp te vinden wat mijn code betreft.
ik ben bezig met een module systeem die een Get request stuurt naar alle modules zodat die hun ding kunnen doen.

dus ik post naar Validator.php > stuurt naar alle modules de get met de data van de post request.

Dit doet hij wel maar het vreemde is de website draait SSL verbinding dus https://

het gekke is dat zodra ik https gebruik hij aan het einde van het domein in de url :443 zet (ssl port)
dus zodra hij verstuurd de url "https://mijndomijntje.nl" naar "https://mijndomijntje.nl:443" maakt.
waardoor de 404 naar voren komt want dat bestaat niet!

hier is de class die ik gebruik :
https://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/

iemand een idee waarom dit misgaat?
ik heb alle urls getest en dit is de code die ik gebruik :
https://pastebin.com/Spd34pC0

alvast bedankt!
Gewijzigd op 06/04/2019 21:39:02 door Mar groen
 
PHP hulp

PHP hulp

06/12/2019 15:08:20
 
- Ariën -
Beheerder

- Ariën -

06/04/2019 19:51:54
Quote Anchor link
Kan je jouw code hier delen? Dat is makkelijker.
Gewijzigd op 06/04/2019 19:52:25 door - Ariën -
 
Mar groen

mar groen

06/04/2019 19:54:11
Quote Anchor link
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php//$path returnt ./modulenaam
foreach ($directories as $path) {
        $trimmed = substr($path,1);
        $module =  "https://domijntje".$trimmed."/module.php?js=1".$vars;
       echo $module;
       array_push($modulearray,$module);
      
    }
    // uiteindelijk array met elke module url https://domijntje.nl/modulenaam/module.php?js=1 + vars (&my=2)
    $r = multiRequest($modulearray);
 
    echo '<pre>';
    print_r($r); ?>


Toevoeging op 06/04/2019 19:54:51:

Quote:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
 
function multiRequest($data, $options = array()) {
 
  // array of curl handles
  $curly = array();
  // data to be returned
  $result = array();
 
  // multi handle
  $mh = curl_multi_init();
 
  // loop through $data and create curl handles
  // then add them to the multi-handle

  foreach ($data as $id => $d) {
 
    $curly[$id] = curl_init();
 
    $url = (is_array($d) && !empty($d['url'])) ? $d['url'] : $d;
    curl_setopt($curly[$id], CURLOPT_URL,            $url);
    curl_setopt($curly[$id], CURLOPT_HEADER,         0);
    curl_setopt($curly[$id], CURLOPT_RETURNTRANSFER, 1);
 
    // post?
    if (is_array($d)) {
      if (!empty($d['post'])) {
        curl_setopt($curly[$id], CURLOPT_POST,       1);
        curl_setopt($curly[$id], CURLOPT_POSTFIELDS, $d['post']);
      }
    }

 
    // extra options?
    if (!empty($options)) {
      curl_setopt_array($curly[$id], $options);
    }

 
    curl_multi_add_handle($mh, $curly[$id]);
  }

 
  // execute the handles
  $running = null;
  do {
    curl_multi_exec($mh, $running);
  }
while($running > 0);
 
 
  // get content and remove handles
  foreach($curly as $id => $c) {
    $result[$id] = curl_multi_getcontent($c);
    curl_multi_remove_handle($mh, $c);
  }

 
  // all done
  curl_multi_close($mh);
 
  return $result;
}

 
?>

Gewijzigd op 06/04/2019 19:55:17 door mar groen
 
Rob Doemaarwat

Rob Doemaarwat

06/04/2019 19:59:11
Quote Anchor link
Eh, en over welke poort heb je HTTPS dan wel lopen? Dan moet je die d'r expliciet achter zetten (443 is de default voor HTTPs, dat is ongeveer hetzelfde als :80 achter een HTTP (zonder SSL) URL plakken. Dat werkt gewoon. Dus die 404 zou je ook moeten krijgen als je de resulterende URL gewoon in een browser plakt.
 
Mar groen

mar groen

06/04/2019 21:34:19
Quote Anchor link
Nou dat is dus net het probleem de SSL word via Cloudflare geregeld. niet intern.
dus https werkt bij alles en iedereen maar mijn script geen idee waarom dat een 404 terug geeft het bestand is er daar ben ik zeker van


Toevoeging op 06/04/2019 21:38:49:

hey ik heb alles nu eindelijk door.
die port die hij toevoegt verdwijnt bij verbinding dus daar zat het probleem dus niet in.
maar de url zelf.
na lang studeren en je reactie rob zie ik idd dat er iets mis is met de url.
na vergelijking met wat ik invoer kwam ik er zojuist achter dat de url een stuk miste die door een var doorgevoerd werd. (stomme if statements) erg bedankt man jullie allen voor deze helderheid!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.