Curl Combineren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

PHP Developer - medior functie

Functieomschrijving Ben jij innovatief en wil jij je kennis graag delen met jouw nieuwe collega's? Lees dan snel verder! Voor een leuke opdrachtgever in de omgeving van Roosendaal zoeken wij een Symfony developer. Of je nou junior, medior of senior bent, je krijgt hier alle vrijheid en verantwoordelijkheid om jouw eigen loopbaan te ontwikkelen. Je gaat je hier bezig houden met en inspelen op de actualiteiten van jouw vakgebied. Techstack: Symfony, PHP, mySQL. Kennis van Svelte is helemaal mooi meegenomen. Bedrijfsprofiel Al sinds '99 is dit webbureau actief. De kernwaarden binnen het bedrijf zijn integer, dienstbaar en deskundig. Je komt

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Software Developer (Junior functie)

Functieomschrijving Wij zijn op zoek naar een Software Developer! Sta jij in de startblokken om je carrière te beginnen en kan je niet wachten om toffe software te gaan ontwikkelen? Kortom, ben je onlangs afgestudeerd of sta je op het punt om je papiertje te behalen? Voor een IT dienstverlener dat gespecialiseerd is in Microsoft technologie zijn wij op zoek naar C#.NET Developers. Het bedrijf heeft meerdere klanten in regio Utrecht waar je permanent kan komen te werken. Kom je liever te werken bij een klein softwarebedrijf of bij een groot consultancy bureau? Dat is helemaal aan jou de keuze!

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Utrecht, die jou tot een volwaardig Fullstack Software Developer gaat opleiden. Binnen deze grote organisatie krijg je ruime en professionele trainingen die jouw in korte tijd vakbekwaam maken. Niet alleen het aan technisch aspect, maar ook zeker jouw persoonlijke ontwikkeling wordt veel

Bekijk vacature »

Ervaren C#.NET developer

Functieomschrijving We zijn op zoek naar een ervaren C#.NET programmeur voor een moderne werkgever in de regio Prinsenbeek. Als programmeur zal je bezig zijn met het ontwikkelen van op maat gemaakte webapplicaties voor verschillende klanten, waarbij je ervoor zorgt dat complexe processen zo goed mogelijk worden ondersteund. Je takenpakket omvat onder andere: Werken met databases en dataopslagoplossingen, implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens, evenals het schrijven van technische documentatie en gebruikershandleidingen. Het ontwikkelen en onderhouden van C#.NET-applicaties. Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen. Het schrijven van hoogwaardige en herbruikbare codes.

Bekijk vacature »
Domien Brandsma

Domien Brandsma

11/06/2015 21:13:47
Quote Anchor link
Gegroet iedereen. Ik gebruik op dit moment het volgende:

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
    $url = sprintf("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s&steamids=%s",
        $api_key,
        $steam_id);

    $curl_time = microtime(1);
    // Needs curl to actually be able to pull data from steam api because of the special response-behaviour.
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    @curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt( $ch, CURLOPT_MAXREDIRS, 5 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 3  ); #rc1: helps with page delay if steam is down
    $raw_json = curl_exec( $ch );
    $http_response_header = curl_getinfo( $ch );
    $curl_errno = curl_errno($ch);
    $curl_error = curl_error($ch);
    curl_close($ch);
    
    $url = sprintf("http://api.steampowered.com/IPlayerService/GetSteamLevel/v0001/?key=%s&steamid=%s",
        $api_key,
        $steam_id);

    $curl_time = microtime(1);
    // Needs curl to actually be able to pull data from steam api because of the special response-behaviour.
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    @curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt( $ch, CURLOPT_MAXREDIRS, 5 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 2 ); #rc1: helps with page delay if steam is down
    $steamlevel = curl_exec( $ch );
    $http_response_header = curl_getinfo( $ch );
    $curl_errno = curl_errno($ch);
    $curl_error = curl_error($ch);
    curl_close($ch);
    
    $steamlevel = json_decode($steamlevel, 1);



    // Get Player Bans API
        
        $url = sprintf("http://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=%s&steamids=%s",
        $api_key,
        $steam_id);

    $curl_time = microtime(1);
    // Needs curl to actually be able to pull data from steam api because of the special response-behaviour.
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    @curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt( $ch, CURLOPT_MAXREDIRS, 5 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 2 ); #rc1: helps with page delay if steam is down
    $tradeban = curl_exec( $ch );
    $http_response_header = curl_getinfo( $ch );
    $curl_errno = curl_errno($ch);
    $curl_error = curl_error($ch);
    curl_close($ch);
    
$tradeban = json_decode($tradeban, 1);

    // END Get Player Bans API


    // Get Item Info API //
        
    $url = sprintf("http://api.steampowered.com/IEconItems_440/GetPlayerItems/v0001/?key=%s&steamid=%s",
    $api_key,
    $steam_id);

    $curl_time = microtime(1);
    // Needs curl to actually be able to pull data from steam api because of the special response-behaviour.
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    @curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt( $ch, CURLOPT_MAXREDIRS, 5 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 2 ); #rc1: helps with page delay if steam is down
    $getplayeritems = curl_exec( $ch );
    $http_response_header = curl_getinfo( $ch );
    $curl_errno = curl_errno($ch);
    $curl_error = curl_error($ch);
    curl_close($ch);
    
        $getplayeritems = json_decode($getplayeritems, 1);

    // END Get Item Info API //


Ik merk op dat door vele API's te gebruiken van steam, dat het laden van de pagina echter lang duurt. Ik probeer dit dus te combineren in 1 code, i.p.v. 4x een curl_close($ch);. Met hopelijk dat ik een optimized code kan gebruiken om de laad-tijd te verbeteren. Met PHP ben ik nog nieuw, dus ik doe mij best :).

Wie kan mij hierbij helpen? Ik heb al verschilende soorten curl's geprobeerd, maar het lukt me maar niet.
Gewijzigd op 11/06/2015 21:17:19 door Domien Brandsma
 
PHP hulp

PHP hulp

25/11/2024 00:22:26
 
Eddy E

Eddy E

11/06/2015 21:19:57
Quote Anchor link
Je wilt 4 URLs binnen halen.
Dat moet gewoon met 4 acties.

Normaal kan dat ook met file_get_contents(), maar dat zal niet werken, gezien deze regel (regel 79 onder andere):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    // Needs curl to actually be able to pull data from steam api because of the special response-behaviour.
?>


Je hebt dus 4 accties nodig.
Al kan je wel af met (veel) minder code.
Voor de rest ziet het er prima uit.

Wat is het probleem?
Je kan de curl-close() ook gewoon weghalen... dan blijft je connectie open.
Dat kan handig zijn als je inlogt ergens (actie 1), dan een pagina opent (actie 2) en daarna iets wil plaatsen (actie 3).
CURL is handig voor dat soort dingen, want je kan ook cookies/sessies etc krijgen tijdens je bezoek die je dan 'onthoudt'.
 
Domien Brandsma

Domien Brandsma

11/06/2015 21:49:12
Quote Anchor link
Het probleem is dat op dit moment, dat de pagina laadtijd te langzaam is (8 tot 10 seconden). Denk omdat ik misschien teveel API's heb toevoegt. Het is voor een forum, elke keer als een thread word geopend, checkt ie de API voor elke member in die thread en slaat ie per member op in een cache bestand. bijv:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
a:11:{s:7:"steamid";s:17:"76561197994195927";s:24:"communityvisibilitystate";s:1:"3";s:11:"personaname";s:13:"MasterSoprano";s:10:"profileurl";s:39:"http://steamcommunity.com/id/MrSoprano/";s:6:"avatar";s:116:"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/a1/a101f855bceb7cf565482632fbc3d310b5dd4bc3.jpg";s:12:"avatarmedium";s:123:"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/a1/a101f855bceb7cf565482632fbc3d310b5dd4bc3_medium.jpg";s:10:"avatarfull";s:121:"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/a1/a101f855bceb7cf565482632fbc3d310b5dd4bc3_full.jpg";s:11:"timecreated";s:10:"1195099352";s:12:"player_level";i:29;s:10:"EconomyBan";s:4:"none";s:15:"backpack_status";i:1;}


Dat terwijl ik de thread zo heb ingesteld dat ie maar 5/10 posts per pagina laat zien duurt het alsnog te lang.

Zie: http://pastebin.com/LUkzbfAv voor de hele code.
Gewijzigd op 11/06/2015 21:57:57 door Domien Brandsma
 
Eddy E

Eddy E

11/06/2015 22:24:41
Quote Anchor link
Je slaat het wel op in de cache, maar gebruik je die ook?
Als je zegt dat je elke keer als een thread wordt geopend, de API checkt.
Dat moet je dus niet doen: je moet de cache openen.

En op de achtergrond (of eens per 10 minuten oid) de cache bijwerken.
Daar merken je gebruikers/bezoekers niets van, want zij hoeven niet te wachten.
 
Domien Brandsma

Domien Brandsma

11/06/2015 22:29:34
Quote Anchor link
Excuses :), de cache is 1 dag geldig. Zodra er een cache is van die gebruiker, zal de thread ook echter veel sneller laden. Het probleem is hier echter dat als er geen info van meerdere gebruikers per thread is, het (vind ik) vrij lang duurt voordat alle gegevens word aangemaakt. Bijv, een thread van 10 posts duurt ongeveer 6 tot 10 seconden voordat alle API's zijn doorgelezen en cache files zijn aangemaakt. En dan ga ik hiervan uit dat op die gehele pagina geen enkele API gegevens 'nog' beschikbaar zijn voor de gebruikers.

Na die dag zal een cron alle cache checken om te zien wat er "out-of-date" is, en behouden en of verwijderen.
Gewijzigd op 11/06/2015 22:32:03 door Domien Brandsma
 



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.