Frage:
Wie erstelle ich eine API für eine Webanwendung ohne Quellcode?
Mr Programmer
2013-04-04 16:54:09 UTC
view on stackexchange narkive permalink

Hier gibt es einen Beitrag ( http://narenonit.blogspot.in/2011/07/my-youmint-api-to-send-free-sms.html), in dem der Autor einen Beitrag verfasst hat versuchte ziemlich gut zu informieren, soweit ich das beurteilen kann. Das genaue Problem, mit dem ich konfrontiert bin, ist das Studium der HTTP-Verbindung. Wäre es möglich, dass jemand das Verfahren etwas klarer erklärt.

Vier antworten:
#1
+10
0xea
2013-04-04 17:00:36 UTC
view on stackexchange narkive permalink

Sie können einige Tools verwenden, um anzuzeigen, was von Ihrem Browser an die Web-App gesendet wird, und um abzuleiten, wie dieses Verhalten "emuliert" werden kann. Ein Netzwerk-Sniffer wäre hier am nützlichsten. Wireshark (insbesondere die Funktion Follow Stream) zum Beispiel. Außerdem können einige Browser-Plugins nützlich sein, z. B. Firebug, TamperData und Poster.

nur die Frage der Replikation, was der Browser tut. Grundsätzlich besteht die http-Kommunikation entweder aus GET- oder POST-Anforderungen und -Antworten (es gibt andere Anforderungen, und Sie sollten in RFC2616 nach weiteren Details suchen). Wenn Sie sich also die HTTP-Streams in Wireshark ansehen, können Sie ableiten, welche Art von Anfrage an die Webanwendung gesendet wird und welche Art von Antwort sie erhält. Einige (oder sogar die meisten) dieser Informationen können durch Studieren der HTML-Quelle der Webseite abgeleitet werden, da für das HTML-Formularelement die Parameter und die Aktions-URL angegeben sind.

Ich kann auch [Fiddler] (http://www.fiddler2.com/fiddler2/) und [http analyzer] (http://www.ieinspector.com/httpanalyzer/) (kommerziell) empfehlen.
[mitmproxy] (http://mitmproxy.org/) ist ziemlich gut und es ist wirklich einfach, Pakete zu ändern / wiederzugeben.
#2
+6
0xC0000022L
2013-04-04 22:27:47 UTC
view on stackexchange narkive permalink

Zusätzlich zu den genannten Tools möchte ich auf httpry hinweisen, das auf libpcap basiert (wie ) tcpdump und WireShark ), die jedoch nur den HTTP-Verkehr abhören und auflisten sollen.

Fiddler ist ein weiteres Tool, wenn auch nicht FLOSS ist genau wie das Firefox-Add-On "Tamper Data" für den Job bereit. Remko hat es auch in seinem Kommentar erwähnt, aber ich denke, es muss prominenter erwähnt werden als in einem Kommentar. Fehlt es in der anderen Antwort beim Lesen.

#3
+3
sw.
2013-04-06 17:52:34 UTC
view on stackexchange narkive permalink

Der Weg dazu ist die Verwendung von Web-Scraping-Techniken. Die Verwendung von Sniffern und Proxys ist übertrieben, wenn Sie mit einem Browser auf die Webseite / Ressource zugreifen können. In diesem Fall müssen Sie nur automatisieren, was der Benutzer im Browser tut, und Tools wie Chrome Developer Tools verwenden, um die HTML- und AJAX-Verbindungen zu überprüfen.

Ich habe mehrere Artikel geschrieben zu diesem Thema, wenn Sie einen Blick darauf werfen möchten:

Für Anwendungen mit einigen Anti-Scraping-Techniken können Sie sich Ausführen Ihrer eigenen anonymen rotierenden Proxies

ansehen Einige spezielle Anforderungen, die dort nicht behandelt werden, zögern Sie bitte nicht, einen Kommentar zu hinterlassen, und ich werde Ihnen dabei helfen.

#4
+2
atorrrr
2013-04-05 04:39:23 UTC
view on stackexchange narkive permalink

Fiddler lernen, es zu lieben.

Es bietet eine benutzerfreundliche Oberfläche zum Erfassen von Anfragen / Antworten auf die beabsichtigten Websites.

Im Wesentlichen müssen Sie:

  • die Anforderung, die Sie automatisieren möchten, mit Ihrem Browser stellen.

  • Verwenden Sie Fiddler, um diese Anforderungen zu erfassen und zu untersuchen. (Handelt es sich um einen POST oder GET? Gibt es ein CSRF-Token? Welche Variablen werden der von mir bereitgestellten Eingabe usw. zugeordnet?)

  • Erhalten Sie die Antwort vom Server zurück.

  • Identifizieren Sie die Teile, die Ihre Ausgabe enthalten.

Dann müssen Sie ein Skript schreiben, das alle gewünschten Eingaben problematisch übernimmt Senden und dann die Anfrage auf die gleiche Weise wie der Browser. Speichern Sie die Ausgabe und ziehen Sie die gewünschten Teile heraus.

Wenn Sie erfolgreich herausgefunden haben, wie die Anforderungen formuliert werden, können Sie eine Klasse erstellen, um die Details der Funktionsweise zu verbergen und sauber aussehenden Code zu erstellen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...