'RCurl' [R] -Paket getURL-Webseitenfehler beim Scrappen der API

Ich versuche, mithilfe der getURL-Funktion des RCurl-Pakets in R Daten auf Seiten einer API zu kratzen. Mein Problem ist, dass ich die Antwort, die ich beim Öffnen der URL in Chrome erhalte, wenn ich die Anfrage mit stelle, nicht replizieren kann R. Wenn ich die API-Seite (URL unten) in Chrome öffne, funktioniert sie einwandfrei. Wenn ich jedoch die Verwendung von getURL in R (oder den Inkognito-Modus in Chrome) anfordere, erhalte ich die Antwort "500 Internal Server Error" und nicht die hübscher JSON, den ich suche.

URL / API in Frage:http: //www.bluenile.com/api/public/loose-diamond/diamond-details/panel? country = USA & currency = USD & language = de-de & productSet = BN & sku = LD04077082

Hier ist meine (fehlgeschlagene) Anfrage in [R].

test2 <- fromJSON(getURL("http://www.bluenile.com/api/public/loose-diamond/diamond-details/panel?country=USA&currency=USD&language=en-us&productSet=BN&sku=LD04077082", ssl.verifypeer = FALSE, useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"))

Meine Forschung bisher Zuerst habe ich mir diese vorherige Frage auf dem Stack angesehen und sie in meinem Useragent zur Anfrage hinzugefügt (Problem nicht gelöst, aber möglicherweise noch erforderlich):ViralHeat API-Probleme mit dem Befehl getURL () im RCurl-Paket

Next Ich habe mir diesen hilfreichen Beitrag angesehen, der meine Überlegungen leitet:R Unterschied zwischen Browser und GET / getURL

Meine Ideen zur Lösung Dies ist nicht mein Fachgebiet, aber ich vermute, dass der Anfrage ein Cookie fehlt, das zur Vervollständigung der Anfrage benötigt wird (daher funktioniert es in meinem Browser nicht im Inkognito-Modus). Ich habe die Anfragen und Antworten von der erfolgreichen Anfrage mit der erfolglosen Anfrage verglichen:

Erfolgreiche Anfrage:

Erfolglose Anfrage:

Jemand irgendwelche ideen? Soll ich versuchen, das Paket @ zu verwendeRSelenium Paket, das von MrFlick im 2. Beitrag vorgeschlagen wurde, den ich gemacht habe.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage