Ciao a tutti, devo parsare una risposta di google OAuth2, il formato del testo che ricevo è simile a questo:
codice:
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Sat, 14 Sep 2013 09:56:20 GMT
Content-Type: application/json
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Alternate-Protocol: 443:quic
Transfer-Encoding: chunked
c4
{
"access_token" : "ya29.AHES6ZSLbAFmae89RRvWJCiFhXbuNkaKwvxTWyOCuQgeZ2k",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/DI34dieiTUTKLdstMFDwfeywklpg-_KrhgCWK0v0xFI"
}
Devo estrarre solo il body scritto in json ovvero:
codice:
{
"access_token" : "ya29.AHES6ZSLbAFmae89RRvWJCiFhXbuNkaKwvxTWyOCuQgeZ4k",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/DI34diaeTUTKLdstMFDwfeywklpg-_KrhgCWK0v0xFI"
}
Stavo pensando di utilizzare un lookaround come (?<=) sulla break line, la parte che separa gli headers dal body del messaggio, e poi da li fare qualcosa tipo /({(\"{1}[A-Z_]+"{1}[ :]{1,3}"{1}[A-Z0-9.]+"{1},?)+)/im
il problema è che non so come gestire il testo multiline, c'è qualcuno che ha la pazienza di aiutarmi, magari aiutandomi a costruire una regex decente?
Per fare delle prove online consiglio http://www.gskinner.com/RegExr/
Tanto per la precisione sto usando C# ma non credo conti molto per il mio problema