Alle HTTP-Requests senden/empfangen
Verfasst: 29.05.2011 06:40
Morgen...
Ich hoffe, dass jemand von euch das Firefox-Addon "TamperData" kennt. Mit diesem Programm ist es möglich, zu erkennen, welche HTTP-Requests an welche Internetseite gesendet werden.
Wenn ich TamperData an habe, während ich das PureBoard besuche, sieht dass dann so aus:

Jetzt habe ich hier mal folgenden Code:
Jetzt würde ich gern wissen, wie ich den Code verändern muss, damit mein Programm auch die Requests an die anderen Seiten sendet, genau so wie Firefox auch. Im Beispiel des Bildes wären das z.B.:"googleads.g.doubleclick.net" und "pagead2.googlesyndication.com" bzw. die dementsprechenden JavaScript's dieser Seiten.
Ich glaube, dass ich in meinem Beispiel erst die komplette Seite downloaden muss danach die Links aus dem Quellcode filtern und an diese dann nochmal die selben Requests senden muss, ich bin mir da allerdings nicht sicher. Möglicherweise gibt es da ja noch einen anderen weg.
Ich hoffe, dass jemand von euch das Firefox-Addon "TamperData" kennt. Mit diesem Programm ist es möglich, zu erkennen, welche HTTP-Requests an welche Internetseite gesendet werden.
Wenn ich TamperData an habe, während ich das PureBoard besuche, sieht dass dann so aus:

Jetzt habe ich hier mal folgenden Code:
Code: Alles auswählen
If InitNetwork() = 0
End
EndIf
#http = 80
Host$ = "forums.purebasic.com"
Path$ = "/german/"
User_Agent$ = "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0"
Accept$ = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
Accept_Langauge$ = "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"
Accept_Encoding$ = "gzip, deflate"
Accept_Charset$ = "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
Connection$ = "close"
File$ = "C:\DownPage.txt"
BufferSize = 4096
*Buffer = AllocateMemory(BufferSize)
ConnectionID = OpenNetworkConnection(Host$, #http)
If ConnectionID
SendNetworkString(ConnectionID, "POST "+Path$+" HTTP/1.1"+#CRLF$)
SendNetworkString(ConnectionID, "Host: "+Host$+#CRLF$)
SendNetworkString(ConnectionID, "User-Agent: "+User_Agent$+#CRLF$)
SendNetworkString(ConnectionID, "Accept: "+Accept$+#CRLF$)
SendNetworkString(ConnectionID, "Accept-Language: "+Accept_Langauge$+#CRLF$)
SendNetworkString(ConnectionID, "Accept-Encoding: "+Accept_Encoding$+#CRLF$)
SendNetworkString(ConnectionID, "Accept-Charset: "+Accept_Charset$+#CRLF$)
SendNetworkString(ConnectionID, "Connection: "+Connection$+#CRLF$+#CRLF$)
While ReceiveNetworkData(ConnectionID,*Buffer,BufferSize)
Code$ = PeekS(*Buffer)
If OpenFile(0,File$)
FileSeek(0,Lof(0))
WriteString(0,Code$)
FillMemory(*Buffer, BufferSize)
EndIf
Wend
CloseNetworkConnection(ConnectionID)
EndIf
Ich glaube, dass ich in meinem Beispiel erst die komplette Seite downloaden muss danach die Links aus dem Quellcode filtern und an diese dann nochmal die selben Requests senden muss, ich bin mir da allerdings nicht sicher. Möglicherweise gibt es da ja noch einen anderen weg.