Ich habe zwei HTTP-Anfragen, die dieselbe CSV-Ausgabe erzeugen, wenn ich die Anfragen über den Webbrowser abrichte. Ich habe den ersten Teil der URL-Parameter beider Anfragen weggelassen, da sie identisch sind. Es ändert sich nur die letzten Parameter, die Sie unten sehen können:Mögliche Probleme bei der URL-Codierung
Anfrage A:
https://csv.business.tomtom.com/extern?...[other parameters]...&range_pattern=d-1
Anfrage B:
https://csv.business.tomtom.com/extern?...[other parameters]...&rangefrom_string=01/04/2016 00:00:01&rangeto_string=01/04/2016 23:59:59
CSV-Ausgabe
"start_time","end_time","distance","triptime","operatingtime","standstill","tours","fuel_usage"
"01/04/2016 09:27:39","01/04/2016 17:25:51","293121","15187","28692","2759","4","21.024"
Jedoch, wenn ich das machen Anfragen über die Rails-App Ich bekomme eine Fehlermeldung mit Anfrage B. Anfrage A ist OK.
Fehler:
CSV::MalformedCSVError
...
Illegal quoting in line 1.
...
@tripsSummary = CSV.parse(summaryResponse.to_s)
Dies sind die HTTP-Antworten:
Antwort A
#<HTTP::Response/1.1 200 OK {"Access-Control-Allow-Origin"=>"*", "Access-Control-Allow-Methods"=>"GET", "Access-Control-Max-Age"=>"3600", "Access-Control-Allow-Headers"=>"Origin, X-Requested-With, Content-Type, Accept", "Content-Type"=>"text/comma-separated-values;charset=UTF-8", "Date"=>"Sat, 02 Apr 2016 19:16:04 GMT", "Connection"=>"close", "Transfer-Encoding"=>"chunked"}>
Antwort B
#<HTTP::Response/1.1 200 OK {"Connection"=>"close", "Cache-Control"=>"no-cache", "Content-Type"=>"text/html; charset=iso-8859-1", "Pragma"=>"no-cache", "Content-Length"=>"108"}>
Fragen
- Ist Anfrage B fehlerhaft?
- Warum funktioniert es im Browser und es funktioniert nicht in der App?
- Gibt es im Parameterbereich ein Codierungsproblemfrom_string = 01/04/2016 00:00:01?