[{"data":1,"prerenderedAt":472},["ShallowReactive",2],{"project-6588802":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":47,"post_text":48,"what":49,"said":117,"maker_in_thread":253,"shape":264,"grid":267,"attempts":435,"same_week":436,"maker_shows":298,"maker_hidden":464,"reader_version":465,"card":466},"6588802","Unirest","title","Show HN: Unirest ","http:\u002F\u002Funirest.io\u002F","unirest.io","sinzone",1382396944,2013,174,67,93,1739,6,"notable","languages","http client libraries","library",[23,24,25,26],"http client","rest api","http requests","cross-language","mixed",-0.169,{"positive":30,"neutral":31,"mixed":32,"critical":33},14,22,3,23,62,{"idea":36,"execution":38,"design":41,"privacy":44,"docs":46},{"positive":17,"critical":37},2,{"positive":39,"critical":40},1,10,{"positive":42,"critical":43},5,9,{"positive":45,"critical":37},0,{"positive":45,"critical":45},[32,32,42,32,32,32,32,32,39,39,39,42,39,39,39,39,39,39,39,39,39,32,32,39,39,42,42,45,42,39,32,42,42,39,32,32,42,39,42,32],null,{"problem":50,"audience":62,"pricing":48,"motivation":68,"time_to_build":48,"stack":73,"openness":114,"stage":115,"team_size":116},{"value":51,"source":52,"evidence":53},"Making HTTP requests with a consistent, easy API across programming languages","commenter",[54,58],{"id":55,"by":56,"text":57},"6588983","fosk","I'm the creator of unirest-python. I love requests and I think it's a great library, the Unirest libraries have been created to bring the same, easy, usage experience across…",{"id":59,"by":60,"text":61},"6589051","nijiko","Hey, as the creator of the Node.js unirest library I'd like to say that I love the request library in node. It is indeed fantastic, and constantly updated. That's why I chose it…",{"value":63,"source":64,"evidence":65},"Programmers making simple HTTP\u002FREST requests in multiple languages","inferred",[66,67],{"id":55,"by":56,"text":57},{"id":59,"by":60,"text":61},{"value":69,"source":52,"evidence":70},"Provide the same easy request experience across languages",[71,72],{"id":55,"by":56,"text":57},{"id":59,"by":60,"text":61},[74,78,82,93,100,107],{"value":75,"source":52,"evidence":76},"Node.js (built on request library)",[77],{"id":59,"by":60,"text":61},{"value":79,"source":52,"evidence":80},"Python",[81],{"id":55,"by":56,"text":57},{"value":83,"source":52,"evidence":84},"PHP (curl wrapper)",[85,89],{"id":86,"by":87,"text":88},"6591337","ozh","I recommend documenting that in PHP it's just a curl wrapper, as opposed to a lib that can work with curl, streams, etc... (nothing condescending on '\"just\" a wrapper'). Also…",{"id":90,"by":91,"text":92},"6591953","Killswitch","It's meh because it's meh... The package is limited... I can do more by taking a few minutes to write my own curl wrapper than add this to my composer.json file, composer install…",{"value":94,"source":52,"evidence":95},"Java (Maven)",[96],{"id":97,"by":98,"text":99},"6589119","MojoJolo","Nice one Augusto and Mashape. I checked Java and it is using Maven. I would like to contribute with Scala and SBT.",{"value":101,"source":52,"evidence":102},"Objective-C",[103],{"id":104,"by":105,"text":106},"6590279","seivan","I found code like ' int code = [response code];' Why 'int' and not 'NSInteger'? That being said, I've been looking for a NotWorking replacement, and this might be it. Either this…",{"value":108,"source":52,"evidence":109},"Ruby",[110],{"id":111,"by":112,"text":113},"6589019","netghost","Minor nit, the ruby examples show: ``` Unirest::post \"http:\u002F\u002Fhttpbin.org\u002Fpost\", ... ``` That syntax is deprecated, you should probably just use: ``` Unirest.post…","unknown","launched","team",{"praise":118,"objections":139,"requests":180,"questions":213,"alternatives":226},[119,134],{"value":120,"source":52,"evidence":121},"Clean, simple, consistent syntax across languages",[122,126,130],{"id":123,"by":124,"text":125},"6589016","joshguthrie","Thanks for this. I'm already using Unirest.php to build a client library for my API and Unirest.rb is my obvious choice when I come to build the Ruby client lib. As aroman said,…",{"id":127,"by":128,"text":129},"6589229","zampano","I actually used unirest.rb as one of the tools to teach my students about HTTP requests. I loved the clear syntax and found the experience a lot more straight-forward than many…",{"id":131,"by":132,"text":133},"6589130","tomphoolery","Heh, platform-independence...I guess that's one way to get them to use your HTTP library, as opposed to the thousand other libs out there to do HTTP. ;) But I like it! In all…",{"value":135,"source":52,"evidence":136},"Useful for learning and teaching HTTP",[137,138],{"id":127,"by":128,"text":129},{"id":131,"by":132,"text":133},[140,151,158,169],{"value":141,"source":52,"evidence":142},"Inconsistent APIs and naming across language versions",[143,147],{"id":144,"by":145,"text":146},"6590667","onion2k","Looking at the examples for Node and PHP, those are essentially two different request libs with the same name. That lack of consistency is a problem - at the very least anyone…",{"id":148,"by":149,"text":150},"6590502","zamalek","You really need to make an effort to conform with established naming\u002Fcasing conventions in each language [1]. For example, your example page should read [2] for .Net. [1]:…",{"value":152,"source":52,"evidence":153},"PHP version is limited compared to Guzzle",[154,157],{"id":155,"by":91,"text":156},"6589161","The PHP version seems to be meh... Gotta do a lot to get us away from Guzzle. http:\u002F\u002Fguzzlephp.org\u002F",{"id":90,"by":91,"text":92},{"value":159,"source":52,"evidence":160},"Unidiomatic code in Objective-C and PHP (SSL verification disabled)",[161,165],{"id":162,"by":163,"text":164},"6590436","neilkimmett","Yep things like this, lack of class prefix, and using [NSDictionary dictionaryWithObjectsAndKeys:@\"application\u002Fjson\", @\"accept\", nil] instead of modern literal syntax @{\"accept\":…",{"id":166,"by":167,"text":168},"6589417","mediumdeviation","This doesn't seem to be a good idea ``` curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false); ``` https:\u002F\u002Fgithub.com\u002FMashape\u002Funirest-php\u002Fblob\u002Fmaster\u002Flib\u002FUnirest\u002FUnirest.php#L98",{"value":170,"source":52,"evidence":171},"Native libraries already good enough",[172,176],{"id":173,"by":174,"text":175},"6588987","aroman","As cool (and pretty) as this is, I'm not sure I see the point to using this over each language's best native http client. As someone else said, Python's requests is fantastic, as…",{"id":177,"by":178,"text":179},"6588949","tfinch","Looks nice - but unfortunately as someone whose day-to-day language is python, I'll give up my requests library [1] when you pry it from my cold, dead hands.…",[181,192,199,206],{"value":182,"source":52,"evidence":183},"Unity3D \u002F C# support",[184,188],{"id":185,"by":186,"text":187},"6588934","hayksaakian","If you could implement this for Unity3d using C# I'd be so happy",{"id":189,"by":190,"text":191},"6590671","acron0","The problem with Unity3D is that you're forced into using their WWW class unless you pay for a professional license (on each of the platforms from which you intend to make…",{"value":193,"source":52,"evidence":194},"Caching and fuller HTTP support",[195],{"id":196,"by":197,"text":198},"6589711","the1","why not support proper http including caching",{"value":200,"source":52,"evidence":201},"Streaming response support",[202],{"id":203,"by":204,"text":205},"6589345","Groxx","If you have any ideas (I have little experience in building libs like this, but will definitely learn): currently I need a streaming JSON decoder (which handles base64-encoded…",{"value":207,"source":52,"evidence":208},"Bind to specific IP parameter",[209],{"id":210,"by":211,"text":212},"6589231","codexon","How about a parameter to bind a specific IP?",[214,219],{"value":215,"source":52,"evidence":216},"Why choose this over native language HTTP clients?",[217,218],{"id":173,"by":174,"text":175},{"id":177,"by":178,"text":179},{"value":220,"source":52,"evidence":221},"Does the Node version work in browsers via Browserify?",[222],{"id":223,"by":224,"text":225},"6588821","btown","Interesting - does the Node version work if packaged for the browser i.e. by Browserify? Of course, there would be caveats, but it would seem like that would be very much in the…",[227,232,236,240,246],{"value":228,"source":52,"evidence":229},"Python requests",[230,231],{"id":177,"by":178,"text":179},{"id":173,"by":174,"text":175},{"value":233,"source":52,"evidence":234},"Guzzle (PHP)",[235],{"id":155,"by":91,"text":156},{"value":237,"source":52,"evidence":238},"Node request \u002F superagent",[239],{"id":173,"by":174,"text":175},{"value":241,"source":52,"evidence":242},"AFNetworking",[243],{"id":244,"by":163,"text":245},"6590464","Totally agree with giving them the benefit of the doubt, hence https:\u002F\u002Fgithub.com\u002FMashape\u002Funirest-obj-c\u002Fpull\u002F9 I still doubt as much thought has gone into it as a more mature…",{"value":247,"source":52,"evidence":248},"PHP Requests",[249],{"id":250,"by":251,"text":252},"6591207","zackkitzmiller","PHP Requests is pretty good, too. https:\u002F\u002Fgithub.com\u002Frmccue\u002FRequests",{"comments":32,"answered":45,"key":254},[255,258,261],{"id":256,"text":257},"6596515","here: http:\u002F\u002Fcocoapods.org\u002F?q=unirest",{"id":259,"text":260},"6589143","thx but the magic has been done by Chris, Nijiko and Marco. Yes, great, that would be amazing. lmk when ready so we can add it.",{"id":262,"text":263},"6588981","It has been requested often so we'll definitely add it to the roadmap.",{"commenters":265,"max_depth":42,"maker_replies":32,"first_comment_mins":17,"lifespan_hours":266},48,28,[268,270,272,273,274,277,279,283,286,290,292,295,297,299,302,304,307,309,312,316,318,319,322,323,325,328,329,331,332,335,338,341,344,347,348,351,353,355,359,363,367,370,372,376,378,381,382,384,388,390,394,396,399,401,403,404,407,410,412,413,415,417,418,421,425,429,433],[173,45,32,269,174,45],"project\u002Fneutral\u002Fidea",[59,45,32,271,60,45],"maker\u002Fneutral\u002Fidea",[177,39,32,269,178,45],[55,39,32,271,56,45],[275,39,42,276,178,45],"6588995","maker\u002Fpositive\u002Fnone",[210,39,32,278,211,45],"project\u002Fneutral\u002Fexecution",[280,39,39,281,282,45],"6589653","project\u002Fcritical\u002Fdesign","yeukhon",[284,39,42,285,56,45],"6589698","maker\u002Fpositive\u002Fdesign",[287,39,42,288,289,45],"6594659","project\u002Fpositive\u002Fidea","mvid",[144,37,39,291,145,45],"project\u002Fcritical\u002Fexecution",[293,37,32,294,60,45],"6593908","maker\u002Fneutral\u002Fdesign",[123,32,42,296,124,45],"project\u002Fpositive\u002Fdesign",[148,298,39,281,149,45],4,[300,42,39,281,301,45],"6588873","zaidos",[303,42,32,294,60,45],"6588896",[305,42,39,281,306,45],"6588947","kennywinker",[308,42,32,294,60,45],"6588964",[310,42,39,281,311,45],"6589125","catmanjan",[313,42,32,314,315,45],"6589376","project\u002Fmixed\u002Fdesign","tomlu",[317,42,42,296,301,45],"6590067",[155,17,39,291,91,45],[320,17,32,269,321,45],"6589625","mikegirouard",[90,17,39,291,91,45],[250,17,39,324,251,45],"project\u002Fcritical\u002Fidea",[104,326,32,327,105,45],7,"project\u002Fmixed\u002Fexecution",[162,326,39,291,163,45],[330,326,32,278,105,45],"6590444",[244,326,39,291,163,45],[333,326,39,291,334,45],"6590935","TheDom",[336,326,32,337,105,45],"6591046","maker\u002Fneutral\u002Fexecution",[166,339,39,340,167,45],8,"project\u002Fcritical\u002Fprivacy",[342,339,39,340,343,45],"6589478","yogo",[345,43,39,281,346,45],"6588886","jamesmoss",[111,40,39,291,112,45],[349,40,32,278,350,45],"6589548","halostatue",[223,352,32,269,224,45],11,[354,352,32,278,60,45],"6588963",[356,357,32,269,358,45],"6588991",12,"reznite",[360,357,32,361,362,45],"6590579","project\u002Fneutral\u002Fnone","beaumartinez",[364,365,39,281,366,45],"6591325",13,"ImJasonH",[368,30,39,281,369,45],"6589172","clienthunter",[131,371,42,288,132,45],15,[373,374,32,278,375,45],"6589042",16,"felipesabino",[377,374,32,278,306,45],"6589214",[379,374,42,380,56,45],"6589498","project\u002Fpositive\u002Fexecution",[256,374,45,278,10,39],[97,383,42,288,98,45],17,[385,383,45,386,387,45],"6589138","commenter\u002Fneutral\u002Fnone","ismaelc",[259,383,45,389,10,39],"maker\u002Fneutral\u002Fnone",[391,392,39,281,393,45],"6588892",18,"ultimatedelman",[395,392,32,294,60,45],"6588965",[86,397,32,398,87,45],19,"project\u002Fneutral\u002Fdocs",[127,400,42,296,128,45],20,[185,402,42,288,186,45],21,[262,402,45,271,10,39],[405,402,39,291,406,45],"6589039","TheZenPsycho",[408,402,32,278,409,45],"6589546","skyebook",[411,402,45,386,406,45],"6591108",[189,402,39,324,190,45],[414,31,42,288,204,45],"6589230",[416,31,42,276,56,45],"6589260",[203,31,32,314,204,45],[419,33,39,291,420,45],"6592905","damusnet",[422,423,42,288,424,45],"6589443",24,"Jemaclus",[426,427,32,398,428,45],"6589367",25,"sirsar",[430,431,42,296,432,45],"6591936",26,"tomekmarchi",[196,434,39,291,197,45],27,[],[437,442,447,451,455,459],{"id":438,"name":439,"points":440,"category":441},"6567967","copy.sh x86 emulator",765,"dev_tools",{"id":443,"name":444,"points":445,"category":446},"6598441","Sketchology",212,"creative",{"id":448,"name":449,"points":450,"category":19},"6569690","WordsForThat.com",151,{"id":452,"name":453,"points":454,"category":19},"6578584","YinYang",134,{"id":456,"name":457,"points":458,"category":19},"6572349","Turbo Pascal compiler in JavaScript",101,{"id":460,"name":461,"points":462,"category":463},"6564878","Food News",84,"consumer_social",false,"v2",{"id":467,"name":5,"line":5,"ai":464,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":468,"top":17,"kw":469,"maker":10,"domain":9,"tier":18,"attempts":45,"strip":470,"url":8,"mix":471,"praise":120,"objection":141,"sub":20},6588802,-0.17,[23,24,25,26],"3353333311151111111113311550513551335153",[30,31,32,33],1794036510804]