2016-07-07 7 views
0

Ich benutze CURL in C++, um eine HTML-Seite von einer Website herunterladen, dann speichere ich es. Nachdem ich die HTML-Datei gespeichert habe, mit einem anderen Programm muss ich es lesen, und speichern Sie es in einer Zeichenfolge.HTML-Seite nach JSON-AJAX Post-Anfrage speichern

Diese Seite enthält einige Anfragen (POST) von json-ajax. Wenn ich es mit dem Browser öffne, habe ich den richtigen Inhalt. Wenn ich es mit einem Texteditor öffne, habe ich einen schlechten Inhalt, weil die POST-Anfrage nicht gemacht wird.

Also, wie kann ich die Seite mit dem Inhalt nach json-ajax Anfrage erhalten speichern?

+1

Dies ist ein Job für einen [Headless Browser] (https://github.com/dhamaniasad/HeadlessBrowsers)! –

+0

Ich habe es auf Google gesucht, aber ich kann nicht eine einfache Headless Broswers in C++ verwenden. Kannst du mir einen vorschlagen? Ich muss nur den Inhalt speichern, nachdem es von Broswer verarbeitet wurde. – Carme

+0

Entschuldigung, ich habe seit Ewigkeiten nicht mehr mit einem kopflosen Browser gearbeitet. Ich stoße auf SO herum und finde einige Leute, die Erfolg mit Ajax-Anfragen haben. Eine Möglichkeit, herauszufinden, was eine Webseite macht, ist das Installieren eines Plugins in Ihrem normalen Browser, mit dem Sie den gesamten HTTP-Verkehr sehen können ("Live-Header"). Sobald Sie sehen können, was der Ajax macht, ist es einfacher, das Verhalten mit curl zu duplizieren. Aber die Automatisierung von Seiten, in denen die meisten Inhalte über Ajax kommen, ist mühsam, ganz gleich, wie man sich ihnen nähert. Viel Glück! –

Antwort

0

Curl wird den HTML-Code von der Seite herunterladen und fertig. Wenn Sie die HTML-Datei mit einem Webbrowser öffnen, kümmert sich der Browser darum, welche Postanforderung gesendet wird.

Sie müssen herausfinden, was die Postanforderung enthält (d. H. Die Daten und wie sie erhalten wird) und diese Anfrage separat senden und die Antwort speichern.

Sie könnten in dieser Frage aussehen wollen How do you make a HTTP request with C++?

Verwandte Themen