Curl Combineren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Junior/Medior Front-end developer

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

.NET Developer

Functie omschrijving Ben jij een senior .NET developer en heb jij tevens ervaring als teamlead? Ben jij iemand met een helikopterview en denk jij graag mee met de klanten? Dan zijn wij op zoek naar jou! Voor een geweldig bedrijf zijn wij namelijk op zoek naar een ervaren .NET developer. Het bedrijf houdt zich bezig met het ontwerpen en bouwen van websites, portalen en applicaties voor met name zorg- en onderwijsinstellingen en overheidsinstanties. Jouw taken: Het fungeren als Lead Developer; Het meedenken met de business (dit vergt commercieel inzicht); Het begeleiden van diverse projecten (van klein tot groot); Het ontwerpen

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Front-end Developer

Dit ga je doen Doorontwikkelen van software; Ontwikkelen en testen van nieuwe functionaliteiten; Implementaties van nieuwe functionaliteiten en updates; Verzorgen van technische migraties naar nieuwe frameworks; Verwerken van incidenten. Hier ga je werken Onze klant, gevestigd in de regio Amsterdam, draagt bij aan het verbeteren van de veiligheid en efficiëntie van de Nederlandse infrastructuur door het ontwikkelen van afgemeten software oplossingen. Zo passen zij location intelligence toe om onderhoud en reparaties efficiënt te laten verlopen. Verder zorgen deze systemen dat incidenten zo snel mogelijk worden opgelost. Als Front-end Developer ben jij samen met je team betrokken met het (door)ontwikkelen van

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

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

08/11/2024 22:02:10
 
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.