Esiste uno standard di settore equivalente a cURL?

1

Un po 'di informazioni di base: ero stato uno sviluppatore Java per un'azienda per circa 6 anni. Questa azienda usava una varietà di sistemi operativi basati su Linux per le sue operazioni quotidiane; tutti i nostri server e macchine di sviluppo erano una variante di Linux. Quando stavamo sviluppando nuovi servizi web e volevamo discutere dell'uso o dei bug all'interno di essi, era consuetudine che uno sviluppatore chiedesse all'altro la sintassi cURL della richiesta in questione. E.G.,

Developer A: How should I interpret the data from endpoint 'foo/bar'?

Developer B: Can you send me the cURL for what you're trying to do?

Developer A: Sure.

E quindi lo sviluppatore A avrebbe allegato qualcosa del genere:

$ curl -i -X POST -H 'Content-Type: application/json' http://some-host.org/foo/bar -d '{"baz": "qux"}'

Ciò è servito bene per comunicare casi di test HTTP e simili tra ingegneri. In generale, descrive perfettamente come verrà visualizzata la richiesta HTTP.

Tuttavia, circa un anno fa, la mia azienda è stata acquistata da un'altra società, e ora la casa madre sta cercando di integrare con circa 10 milioni di linee del codice della mia ex azienda. Ma ci sono alcuni problemi ... Un problema che abbiamo avuto è che la società che ha acquistato la mia ex società è in gran parte solo di Windows. Praticamente tutto è fatto usando Windows e le tecnologie Microsoft, non Linux.

Ciò porta a problemi di comunicazione su base regolare. Quando qualcuno mi dice che qualcosa nei nostri server Linux "non funziona", il mio primo riflesso è chiedere l'istruzione cURL che rappresenta la loro richiesta HTTP. Ma ... beh, la maggior parte dei miei nuovi colleghi sembra non sapere cosa sia CURL, perché immagino che Windows non abbia cURL (non sono molto un ragazzo di Windows quindi correggimi se sbaglio su quello! ).

Quindi mi chiedo, c'è un modo migliore, più onnipresente e multipiattaforma per comunicare le richieste HTTP tra loro?

    
posta nasukkin 20.09.2016 - 21:55
fonte

3 risposte

9

C'è uno standard del settore?

Sei betchya. È il protocollo Http effettivo . Una richiesta HTTP effettiva assomiglia a qualcosa del genere.

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

licenseID=string&content=string&/paramsXML=string

Punto tutorial

Potresti provare a insegnare a questi ragazzi cURL (e forse dovrebbero imparare se hanno bisogno di lavorare su * nix boxes), ma probabilmente usano uno strumento GUI come Postman o Telerik Fiddler. Questi strumenti forniranno la richiesta completa. Scommetto che anche cURL te lo rispedirà, se sai come chiederlo. Ti consiglierei di sapere cosa cURL sta effettivamente inviando attraverso il filo. Non solo avrai tutti una lingua comune per parlare, ma imparerai anche un po 'della tecnologia che stai utilizzando.

    
risposta data 21.09.2016 - 01:00
fonte
2

Consiglio vivamente di dare un'occhiata a Postman - anche se non sembra che abbiano ancora un'applicazione per Linux, il Chrome l'app potrebbe funzionare per te.

Hanno strumenti integrati per lavorare con curl link

    
risposta data 20.09.2016 - 22:51
fonte
0

Sebbene non sia adatto a richieste una tantum, esistono numerosi modi formali per documentare univocamente un'API REST. Credo che il più popolare sia swagger , ma anche il progetto e RAML . Se lavori nel settore delle telecomunicazioni, lo standard del settore è YANG , perché dobbiamo fare tutto nel modo più difficile. Se stai affrontando molto questo problema, vale la pena di passare attraverso il processo di documentazione. Ho usato spavalderia personalmente. Ha un bel editor per aiutare e un'interfaccia utente utile per la visualizzazione dei risultati. Ecco un esempio della loro demo :

    
risposta data 21.09.2016 - 03:11
fonte

Leggi altre domande sui tag