Avatar billede Mik2000 Professor
03. januar 2022 - 19:45 Der er 3 kommentarer

cURL to local fil

Kan man lave et cURL kald til en lokal fil som ligger andetsteds på en server uden at skulle igennem DNS service

Hvis jeg bruger URL så virker det, men skal lave 23 kald tager det meget lang tid, og kan google mig til det er pga. dns lookup og at man skal bruge IP

Problemet er at hvis jeg bruger IP direkte så ses den som "ikke sikker" da der jo ikke er certifikat på og så fejler den

Så jeg tænkte at siden filen var på samme server kunne man måske kalde den direkte eller bruge noget andet end cURL.
Avatar billede arne_v Ekspert
03. januar 2022 - 21:42 #1
file_get_contents kan laese filer.
Avatar billede arne_v Ekspert
03. januar 2022 - 21:43 #2
Men jeg forstaar ikke hvorfor DNS lookup er så stort et problem, systemet bør cache DNS opslag.
Avatar billede Mik2000 Professor
04. januar 2022 - 14:56 #3
Jeg tænker den sender det med cUrl :)

Jeg ved ikke hvad det ellers er, men hver cUrl kald tager ca. 1-2 sekunder at køre, hvilket bliver omkring 33 sekunder i alt

Jeg tænker det burde kunne optimeres

Den er lavet sådan her (der er ingen fejl i scriptet - det er kun tidsproblem)

$githubUrls = Array med 23 url'er i;
$json = Korrekt formateret json som sendes;

$process = curl_init();
foreach($githubUrls as $githubUrl) {
    curl_setopt($process, CURLOPT_URL, $githubUrl);
    curl_setopt($process, CURLOPT_POST, 1);
    curl_setopt($process, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($process, CURLOPT_POSTFIELDS, $Json);
    curl_setopt($process, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($process, CURLOPT_HTTPHEADER, [
          'Request URL: $githubUrl'
      'Request method: POST',
      'Accept: */*',
      'Content-Type: application/json',
      'User-Agent: korrekt agent',
      'X-GitHub-Delivery: '.$githubUrl,
      'X-GitHub-Event: push',
      'X-GitHub-Hook-ID: nummer',
      'X-GitHub-Hook-Installation-Target-ID: nummer',
      'X-GitHub-Hook-Installation-Target-Type: repository',
        ]
    );
}
curl_close($process);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
Årets CIO 2022: Nu skal Danmarks dygtigste CIO findes - er det dig? Eller kender du en, du vil indstille?