From stappers at stappers.nl Sun Apr 3 10:00:05 2016 From: stappers at stappers.nl (Geert Stappers) Date: Sun, 3 Apr 2016 16:00:05 +0200 Subject: [python-nl] JSON API, CLI voorbeeld Message-ID: <20160403140005.GB14286@gpm.stappers.nl> Hoi, Mijn inschatting is dat er hier mensen zijn die weet hebben van Python code die tegen een JSON web API aan kan praten. Daar zoek wat command line voorbeelden van. Om voor een andere API een implementatie te maken. In gebruik doe je dan command.py subcommand parameter parameter Dat er dat JSON de lijn over gaat en de user een statusberichtje krijgt. Mijn websearch op 'python json api cli client' brengt vooral subsets als "python json" of "python api". Wat in de buurt komt van wat ik zoek is https://github.com/jkbrzt/httpie Wat hebben jullie aan andere voorbeelden in die richting? Groeten Geert Stappers -- Leven en laten leven From a.esselink at gmail.com Sun Apr 3 10:53:07 2016 From: a.esselink at gmail.com (Dexter) Date: Sun, 3 Apr 2016 16:53:07 +0200 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: <20160403140005.GB14286@gpm.stappers.nl> References: <20160403140005.GB14286@gpm.stappers.nl> Message-ID: Een JSON api is vaak neit meer dan een http rest api. Dus volgens mij wil je weten hoe je met een http server kan praten in python. Met de requests api kan je http requests uitvoeren. Met behulp van optparse kan je je argumenten parsen en geschikte acties op de api uitvoeren. Dexter - DexterLabs.nl 2016-04-03 16:00 GMT+02:00 Geert Stappers : > Hoi, > > Mijn inschatting is dat er hier mensen zijn die > weet hebben van Python code die tegen een JSON web API > aan kan praten. Daar zoek wat command line voorbeelden van. > Om voor een andere API een implementatie te maken. > > In gebruik doe je dan > > command.py subcommand parameter parameter > > Dat er dat JSON de lijn over gaat > en de user een statusberichtje krijgt. > > Mijn websearch op 'python json api cli client' brengt vooral > subsets als "python json" of "python api". > > Wat in de buurt komt van wat ik zoek > is https://github.com/jkbrzt/httpie > > > Wat hebben jullie aan andere voorbeelden in die richting? > > > Groeten > Geert Stappers > -- > Leven en laten leven > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ay at mntw.re Sun Apr 3 10:45:38 2016 From: ay at mntw.re (Andriy Yurchuk) Date: Sun, 03 Apr 2016 16:45:38 +0200 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: <20160403140005.GB14286@gpm.stappers.nl> References: <20160403140005.GB14286@gpm.stappers.nl> Message-ID: Hello Geert, I hope I understood your question correctly (my Dutch is not very good). To implement a client for a HTTP JSON API you could use requests (http://docs.python-requests.org). To implement a CLI app for that API using that client, you could try argparse (https://docs.python.org/3/library/argparse.html) or click (http://click.pocoo.org/), depending on the complexity of the API. --- Regards, Andriy Yurchuk On 03.04.2016 16:00, Geert Stappers wrote: > Hoi, > > Mijn inschatting is dat er hier mensen zijn die > weet hebben van Python code die tegen een JSON web API > aan kan praten. Daar zoek wat command line voorbeelden van. > Om voor een andere API een implementatie te maken. > > In gebruik doe je dan > > command.py subcommand parameter parameter > > Dat er dat JSON de lijn over gaat > en de user een statusberichtje krijgt. > > Mijn websearch op 'python json api cli client' brengt vooral > subsets als "python json" of "python api". > > Wat in de buurt komt van wat ik zoek > is https://github.com/jkbrzt/httpie > > > Wat hebben jullie aan andere voorbeelden in die richting? > > > Groeten > Geert Stappers From A.T.Hofkamp at tue.nl Mon Apr 4 02:26:39 2016 From: A.T.Hofkamp at tue.nl (Hofkamp, A.T.) Date: Mon, 4 Apr 2016 06:26:39 +0000 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: <20160403140005.GB14286@gpm.stappers.nl> References: <20160403140005.GB14286@gpm.stappers.nl> Message-ID: <405DB1D0CFA3C9499CE60EE6D3370A8B41022E23@XSERVER20B.campus.tue.nl> > Mijn inschatting is dat er hier mensen zijn die > weet hebben van Python code die tegen een JSON web API > aan kan praten. Daar zoek wat command line voorbeelden van. > Om voor een andere API een implementatie te maken. > > In gebruik doe je dan > > command.py subcommand parameter parameter > > Dat er dat JSON de lijn over gaat > en de user een statusberichtje krijgt. Je code gaat uit 3 onderdelen bestaan. 1) Command-line handling. argparse of getopt zijn daar veelgebruikte bibliotheken. 2) HTTP berichten sturen/ontvangen. Python heeft daar ook een bibliotheek voor, maar de naam ben ik even kwijt (http client-side moet je hebben) HTTP zelf geeft niets om wat je daadwerkelijk als "web-page" verstuurt, je moet alleen zorgen dat je mime-type klopt met je inhoud, en je het naar een url stuurt die je data ook verwacht. JSON IO is dus gelijk aan HTML IO is gelijk aan .PNG IO, met alleen andere mime-types en data. Elke "vraag html pagina van website tutorial" is dus ongeveer bruikbaar. Een image vragen of sturen komt het meest dichtbij (wegens wijzigen mime type en afhandelen van een blok data). 3) JSON coding en decoding. Volgens mij is er een json bibliotheek in Python. From johnnydebris at gmail.com Mon Apr 4 05:21:28 2016 From: johnnydebris at gmail.com (Guido Wesdorp) Date: Mon, 4 Apr 2016 11:21:28 +0200 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: <20160403140005.GB14286@gpm.stappers.nl> References: <20160403140005.GB14286@gpm.stappers.nl> Message-ID: Hoi Geert, Aangezien REST niet een volledig protocol is, zul je denk ik geen generieke client vinden. REST beschrijft in enigzins grove lijnen hoe je data en acties op die data kunt ontsluiten door handig gebruik te maken van het HTTP protocol, het beschrijft hoe je URLs zo in kunt delen dat ze netjes de structuur van je data volgen en hoe je HTTP methods kunt gebruiken om standaard acties op 'resources' (URL endpoints zeg maar) te definieren (bijv. GET om te lezen, PUT om te schrijven, POST voor niet-standaard acties, etc.), maar ook niet veel meer dan dat. Er wordt volgens mij niet eens gedefinieerd wat voor Content-Type je response data heeft (hoewel bijna iedereen JSON gebruikt, hoeft dat volgens mij niet per se) en heeft bijvoorbeeld geen oplossing voor het aangeven van het type data dat je ontsluit, je geeft met Content-Type aan dat je (bijv.) JSON verstuurt, maar niet wat voor data-type die JSON representeert. REST is dus meer een stel guide-lines dan een volledig protocol, voor bijv. WebDAV of JSON-RPC is het wel mogelijk generieke clients te schrijven, maar REST is daar gewoon niet compleet genoeg voor. Having said that, een specifieke REST client schrijven is vaak erg eenvoudig met behulp van een generieke HTTP client (library), aangezien REST zoals gezegd heel dicht bij HTTP probeert te blijven. In de standaard library van Python zitten 3 libraries voor het maken van HTTP calls: urllib, urlllib2 en httplib. De eerste 2, 'urllib' en 'urllib2', zijn nagenoeg identiek (urllib2 is een opvolger van urllib, met wat kleine verbeteringen) en helaas niet flexibel genoeg om goeie REST clients te schrijven, voornamelijk omdat ze niet toestaan aan te geven welke HTTP method er gebruikt moet worden bij een request (geef je geen data mee wordt de GET method gebruikt, wanneer wel data wordt meegegeven POST, PUT e.d. zijn niet mogelijk). De 'httplib' library is veel flexibeler, maar ook een flink stuk moeilijker in gebruik. Eventueel kun je, zoals voorgesteld, de 'requests' library gebruiken als gulden middenweg (die staat wel toe de HTTP method te definieren, maar is een stuk eenvoudiger in gebruik dan httplib), maar die zit niet in de standaard library en zal dus moeten worden gedownload (pip install requests). Om jouw puzzel compleet te maken, heb je nog een library nodig om JSON parsing en generatie te doen en een library om command-line argumenten te parsen. Voor het eerste heeft Python 'json' in de standaard library zitten, voor het tweede zijn er vele opties, je kunt met 'sys.argv' zelf de argumenten parsen of je kunt 'getopt' of 'argparse' of wat dan ook de argument parser 'du jour' is (zoek ff op docs.python.org). Ik snap dat dit allemaal misschien nog een beetje vaag is, dus ff snel een voorbeeldje (vereenvoudigd, aangezien ik niet veel rekening houd met errors, redirects etc. en geen argument parsing doe), waarin ik een JSON structuur van de server afhaal met behulp van een HTTP GET request en daarna weer opsla met PUT: import httplib import json conn = httplib.HTTPConnection('localhost') conn.request('GET', '/some/path') res = conn.getresponse() body = res.read() if res.status not in 200: # note: should handle <= 400 as error, <= 300 as redirect raise Exception('something went wrong: %s %s - %s' % (res.status, res.reason, body) ctype = res.getheader('content-type') if ctype.split(';')[0] != 'application/json': raise Exception('non-JSON response (%s)' % (ctype,)) data = json.loads(body) print 'Received data on GET:', data # adjust the data a bit and save it data['foo'] = 'bar' params = json.dumps(data).encode('UTF-8') headers = { 'Content-Type': 'application/json', } conn = httplib.HTTPConnection('localhost') conn.request('PUT', '/some/path', params, headers) res = conn.getresponse() body = res.read() if res.status not in 200: # note: should handle <= 400 as error, <= 300 as redirect raise Exception('something went wrong: %s %s - %s' % (res.status, res.reason, body) ctype = res.getheader('content-type') if ctype.split(';')[0] != 'application/json': raise Exception('non-JSON response (%s)' % (ctype,)) data = json.loads(body) print 'Received data on PUT:', data Let op dat veel van de code bestaat uit omgaan met httplib, met 'requests' zou het hele eerste stuk (regel 1 t/m 15) bijvoorbeeld kunnen worden vervangen door: import requests res = requests.get('http://localhost/some/path') print res.json() dus het is misschien handig om ook even naar die lib te kijken. In ieder geval, hou in gedachten dat je 'doodnormale' HTTP requests gaat uitvoeren, waarin toevallig de response (en waarschijnlijk ook die van het request, maar ook dat is optioneel) het MIME-type 'application/json' heeft. Het parsen van command-line (de rest van je puzzel) is afhankelijk van de library die je gebruikt, maar die worden prima beschreven in de Python docs. Hoop dat dit een beetje helpt! Groeten, Guido 2016-04-03 16:00 GMT+02:00 Geert Stappers : > Hoi, > > Mijn inschatting is dat er hier mensen zijn die > weet hebben van Python code die tegen een JSON web API > aan kan praten. Daar zoek wat command line voorbeelden van. > Om voor een andere API een implementatie te maken. > > In gebruik doe je dan > > command.py subcommand parameter parameter > > Dat er dat JSON de lijn over gaat > en de user een statusberichtje krijgt. > > Mijn websearch op 'python json api cli client' brengt vooral > subsets als "python json" of "python api". > > Wat in de buurt komt van wat ik zoek > is https://github.com/jkbrzt/httpie > > > Wat hebben jullie aan andere voorbeelden in die richting? > > > Groeten > Geert Stappers > -- > Leven en laten leven > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jack.Jansen at cwi.nl Mon Apr 4 06:44:04 2016 From: Jack.Jansen at cwi.nl (Jack Jansen) Date: Mon, 4 Apr 2016 12:44:04 +0200 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: <405DB1D0CFA3C9499CE60EE6D3370A8B41022E23@XSERVER20B.campus.tue.nl> References: <20160403140005.GB14286@gpm.stappers.nl> <405DB1D0CFA3C9499CE60EE6D3370A8B41022E23@XSERVER20B.campus.tue.nl> Message-ID: >> Mijn inschatting is dat er hier mensen zijn die >> weet hebben van Python code die tegen een JSON web API >> aan kan praten. Daar zoek wat command line voorbeelden van. >> Om voor een andere API een implementatie te maken. >> >> In gebruik doe je dan >> >> command.py subcommand parameter parameter >> >> Dat er dat JSON de lijn over gaat >> en de user een statusberichtje krijgt. Hier is wat voorbeeldcode die in ieder geval 2 van de 3 dingen doet die je wilt: - argument parsen met argparse - requests versturen met httplib2 ------------- volgend deel ------------ Een niet-tekst bijlage is gescrubt... Naam: homeVar.py Type: text/x-python-script Grootte: 5360 bytes Omschrijving: niet beschikbaar URL : ------------- volgend deel ------------ De achterliggende server is een rest-achtige database, en accepteert (en genereert) naar keuze application/json, application/xml en text/plain. De CLI accepteert/genereert ook python (dat als JSON wordt overgestuurd). Wat httplib2 betreft nog een opmerking/vraag: ik gebruik de ene keer httplib2, de andere keer keer requests, en ik heb nog steeds geen echte voorkeur, ze hebben allebei hun plussen en minnen. -- Jack Jansen, , http://www.cwi.nl/~jack If I can't dance I don't want to be part of your revolution -- Emma Goldman From johnnydebris at gmail.com Mon Apr 4 08:23:42 2016 From: johnnydebris at gmail.com (Guido Wesdorp) Date: Mon, 4 Apr 2016 14:23:42 +0200 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: References: <20160403140005.GB14286@gpm.stappers.nl> <405DB1D0CFA3C9499CE60EE6D3370A8B41022E23@XSERVER20B.campus.tue.nl> Message-ID: 2016-04-04 12:44 GMT+02:00 Jack Jansen : > Wat httplib2 betreft nog een opmerking/vraag: ik gebruik de ene keer > httplib2, de andere keer keer requests, en ik heb nog steeds geen echte > voorkeur, ze hebben allebei hun plussen en minnen. > > Hey Jack, Waarom niet gewoon httplib? Ik weet niet wat httplib2 en requests voor jou specifiek uit handen nemen, het zal iig wat meer tikwerk zijn met httplib, maar je kunt er alles mee en het zit in de core, toch? Ik neem aan dat httplib2 en requests ook niet veel extra's bieden voor de wat meer hard-core HTTP features (redirects misschien wel, auth misschien een beetje (basic auth header generation, maar meer niet neem ik aan?), maar caching, keep-alive, etags, etc.)? FWIW, ik heb zelf een tijdje requests gebruikt, maar ben overal httplib gaan gebruiken (of urllib2 in eenvoudige situaties), omdat ik liever geen dependencies op third-party packages heb en httplib alles kan wat ik wilde doen (en volgens mij liep ik zelfs ergens tegenaan dat met requests niet lukte, maar ik heb geen idee meer wat, helaas). Cheers, Guido -------------- next part -------------- An HTML attachment was scrubbed... URL: From a.esselink at gmail.com Mon Apr 4 09:25:32 2016 From: a.esselink at gmail.com (Dexter) Date: Mon, 4 Apr 2016 15:25:32 +0200 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: References: <20160403140005.GB14286@gpm.stappers.nl> <405DB1D0CFA3C9499CE60EE6D3370A8B41022E23@XSERVER20B.campus.tue.nl> Message-ID: volgens mij is het idee van requests dat het de volgende core http client library wordt. IMO is er voor de iets complexere requests zoveel gezeik om het netjes te krijgen in de httplib* dat het aangeraden is om requests te gebruiken Dexter - DexterLabs.nl 2016-04-04 14:23 GMT+02:00 Guido Wesdorp : > 2016-04-04 12:44 GMT+02:00 Jack Jansen : > >> Wat httplib2 betreft nog een opmerking/vraag: ik gebruik de ene keer >> httplib2, de andere keer keer requests, en ik heb nog steeds geen echte >> voorkeur, ze hebben allebei hun plussen en minnen. >> >> > Hey Jack, > > Waarom niet gewoon httplib? Ik weet niet wat httplib2 en requests voor jou > specifiek uit handen nemen, het zal iig wat meer tikwerk zijn met httplib, > maar je kunt er alles mee en het zit in de core, toch? Ik neem aan dat > httplib2 en requests ook niet veel extra's bieden voor de wat meer > hard-core HTTP features (redirects misschien wel, auth misschien een beetje > (basic auth header generation, maar meer niet neem ik aan?), maar caching, > keep-alive, etags, etc.)? > > FWIW, ik heb zelf een tijdje requests gebruikt, maar ben overal httplib > gaan gebruiken (of urllib2 in eenvoudige situaties), omdat ik liever geen > dependencies op third-party packages heb en httplib alles kan wat ik wilde > doen (en volgens mij liep ik zelfs ergens tegenaan dat met requests niet > lukte, maar ik heb geen idee meer wat, helaas). > > Cheers, > > Guido > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From johnnydebris at gmail.com Mon Apr 4 09:36:52 2016 From: johnnydebris at gmail.com (Guido Wesdorp) Date: Mon, 4 Apr 2016 15:36:52 +0200 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: References: <20160403140005.GB14286@gpm.stappers.nl> <405DB1D0CFA3C9499CE60EE6D3370A8B41022E23@XSERVER20B.campus.tue.nl> Message-ID: <57026df4.6869c20a.472e.52de@mx.google.com> Ah, in dat geval zou dat dan dus mijn keuze worden, zolang het werkt... :) (Nogmaals, er was dus iets wat het niet kon volgens mij, misschien handmatig redirects afhandelen of zo? Ik weet het niet meer zeker...) Httplib is idd bewerkelijk en geen hele fraaie API, dus kan me wel voorstellen dat je het niet altijd wilt gebruiken. Cheers, Guido -----Oorspronkelijk bericht----- Van: "Dexter" Verzonden: ?4-?4-?2016 15:26 Aan: "Dutch Python developers and users" Onderwerp: Re: [python-nl] JSON API, CLI voorbeeld volgens mij is het idee van requests dat het de volgende core http client library wordt. IMO is er voor de iets complexere requests zoveel gezeik om het netjes te krijgen in de httplib* dat het aangeraden is om requests te gebruiken Dexter - DexterLabs.nl 2016-04-04 14:23 GMT+02:00 Guido Wesdorp : 2016-04-04 12:44 GMT+02:00 Jack Jansen : Wat httplib2 betreft nog een opmerking/vraag: ik gebruik de ene keer httplib2, de andere keer keer requests, en ik heb nog steeds geen echte voorkeur, ze hebben allebei hun plussen en minnen. Hey Jack, Waarom niet gewoon httplib? Ik weet niet wat httplib2 en requests voor jou specifiek uit handen nemen, het zal iig wat meer tikwerk zijn met httplib, maar je kunt er alles mee en het zit in de core, toch? Ik neem aan dat httplib2 en requests ook niet veel extra's bieden voor de wat meer hard-core HTTP features (redirects misschien wel, auth misschien een beetje (basic auth header generation, maar meer niet neem ik aan?), maar caching, keep-alive, etags, etc.)? FWIW, ik heb zelf een tijdje requests gebruikt, maar ben overal httplib gaan gebruiken (of urllib2 in eenvoudige situaties), omdat ik liever geen dependencies op third-party packages heb en httplib alles kan wat ik wilde doen (en volgens mij liep ik zelfs ergens tegenaan dat met requests niet lukte, maar ik heb geen idee meer wat, helaas). Cheers, Guido _______________________________________________ Python-nl mailing list Python-nl at python.org https://mail.python.org/mailman/listinfo/python-nl -------------- next part -------------- An HTML attachment was scrubbed... URL: From stappers at stappers.nl Mon Apr 4 15:33:27 2016 From: stappers at stappers.nl (Geert Stappers) Date: Mon, 4 Apr 2016 21:33:27 +0200 Subject: [python-nl] HTTP requests WAS: JSON API, CLI voorbeeld In-Reply-To: <57026df4.6869c20a.472e.52de@mx.google.com> References: <20160403140005.GB14286@gpm.stappers.nl> <405DB1D0CFA3C9499CE60EE6D3370A8B41022E23@XSERVER20B.campus.tue.nl> <57026df4.6869c20a.472e.52de@mx.google.com> Message-ID: <20160404193327.GB27439@gpm.stappers.nl> On Mon, Apr 04, 2016 at 03:36:52PM +0200, Guido Wesdorp wrote: > Van: Dexter, Verzonden: 4-4-2016 15:26 > > > volgens mij is het idee van requests dat het de volgende core http > > client library wordt. > > IMO is er voor de iets complexere requests zoveel gezeik om het > > netjes te krijgen in de httplib* dat het aangeraden is om requests > > te gebruiken > > Ah, in dat geval zou dat dan dus mijn keuze worden, zolang het > werkt... :) (Nogmaals, er was dus iets wat het niet kon volgens mij, > misschien handmatig redirects afhandelen of zo? Ik weet het niet meer > zeker...) Httplib is idd bewerkelijk en geen hele fraaie API, dus kan > me wel voorstellen dat je het niet altijd wilt gebruiken. > Daar zal de URL http://docs.python-requests.org/en/master/ bijhoren Dank voor de selectie hulp van een "http lib" dan wel "url lib". Groeten Geert Stappers -- Leven en laten leven From stappers at stappers.nl Mon Apr 4 15:55:18 2016 From: stappers at stappers.nl (Geert Stappers) Date: Mon, 4 Apr 2016 21:55:18 +0200 Subject: [python-nl] JSON API, CLI voorbeeld, dank je wel In-Reply-To: References: <20160403140005.GB14286@gpm.stappers.nl> Message-ID: <20160404195518.GC27439@gpm.stappers.nl> Summary: we are a community On Sun, Apr 03, 2016 at 04:45:38PM +0200, Andriy Yurchuk wrote: > On 03.04.2016 16:00, Geert Stappers wrote: > >Hoi, > > > >Mijn inschatting is dat er hier mensen zijn die > >weet hebben van Python code die tegen een JSON web API > >aan kan praten. Daar zoek wat command line voorbeelden van. > >Om voor een andere API een implementatie te maken. > > > >In gebruik doe je dan > > > > command.py subcommand parameter parameter > > > >Dat er dat JSON de lijn over gaat > >en de user een statusberichtje krijgt. > > > >Mijn websearch op 'python json api cli client' brengt vooral > >subsets als "python json" of "python api". > > > >Wat in de buurt komt van wat ik zoek > >is https://github.com/jkbrzt/httpie > > > > > >Wat hebben jullie aan andere voorbeelden in die richting? > > > > I hope I understood your question correctly (my Dutch is not very good). > To implement a client for a HTTP JSON API you could use requests > (http://docs.python-requests.org). To implement a CLI app for that > API using that client, you could try argparse > (https://docs.python.org/3/library/argparse.html) or click > (http://click.pocoo.org/), depending on the complexity of the API. Mijn vraag heb je goed begrepen. Ik bedoel: je nederlands goed genoeg. Ook helemaal goed dat er antwoord is in een taal waar je jezelf in kunt uitdruk en welke de andere zou kunnen gebruiken. Daar ik, original poster, vroeg naar 1 blok wat voor mij zou kunnen passen, heb ik nu vooral begrepen om kleinere brokken te gaan gebruiken en daar mijn gewenst geheel van te maken. Dank jullie wel Groeten Geert Stappers -- Leven en laten leven From jack.jansen at cwi.nl Mon Apr 4 16:57:17 2016 From: jack.jansen at cwi.nl (Jack Jansen) Date: Mon, 4 Apr 2016 22:57:17 +0200 Subject: [python-nl] JSON API, CLI voorbeeld In-Reply-To: References: <20160403140005.GB14286@gpm.stappers.nl> <405DB1D0CFA3C9499CE60EE6D3370A8B41022E23@XSERVER20B.campus.tue.nl> Message-ID: Guido, je hebt best wel gelijk. Maar een groot nadeel van httplib vind ik dat je zelf de URL moet slopen en dan een HTTPConnection of HTTPSConnection moet maken met de juiste parameters, etc etc etc. requests/httplib2 zitten wat dat betreft meer op het gemaks-nivo van urllib. En dan voelt requests wat meer pythonesque, maar is het httplib2 model van (1) creeer object, (2) voeg alles aan parameters en zo toe wat je nodig hebt en (3) doe request vaak handiger als je allerlei opties hebt die je soms wel, soms niet nodig hebt (bijv. authentication afhankelijk van commandline argumenten). > On 04-Apr-2016, at 14:23 , Guido Wesdorp wrote: > > 2016-04-04 12:44 GMT+02:00 Jack Jansen >: > Wat httplib2 betreft nog een opmerking/vraag: ik gebruik de ene keer httplib2, de andere keer keer requests, en ik heb nog steeds geen echte voorkeur, ze hebben allebei hun plussen en minnen. > > > Hey Jack, > > Waarom niet gewoon httplib? Ik weet niet wat httplib2 en requests voor jou specifiek uit handen nemen, het zal iig wat meer tikwerk zijn met httplib, maar je kunt er alles mee en het zit in de core, toch? Ik neem aan dat httplib2 en requests ook niet veel extra's bieden voor de wat meer hard-core HTTP features (redirects misschien wel, auth misschien een beetje (basic auth header generation, maar meer niet neem ik aan?), maar caching, keep-alive, etags, etc.)? > > FWIW, ik heb zelf een tijdje requests gebruikt, maar ben overal httplib gaan gebruiken (of urllib2 in eenvoudige situaties), omdat ik liever geen dependencies op third-party packages heb en httplib alles kan wat ik wilde doen (en volgens mij liep ik zelfs ergens tegenaan dat met requests niet lukte, maar ik heb geen idee meer wat, helaas). > > Cheers, > > Guido > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl -- Jack Jansen, , http://www.cwi.nl/~jack If I can't dance I don't want to be part of your revolution -- Emma Goldman ------------- volgend deel ------------ Een HTML-bijlage is gescrubt... URL: