[Gelöst] HTTP Request

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: HTTP Request

Beitrag von HeX0R »

Versuch es mal so:

Code: Alles auswählen

InitNetwork()

Procedure LoadSite(Site.s, Info.s, TimeOUT = 5000)
	Protected Header.s, Cid, R, Pos, T
	Protected *Buffer = AllocateMemory($10000)

	If *Buffer

		Cid = OpenNetworkConnection(Site, 80)
		If Cid

			Header = "POST /index.php HTTP/1.1" + #CRLF$
			Header + "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + #CRLF$
			Header + "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)" + #CRLF$
			Header + "Host: " + Site + #CRLF$
			Header + "Content-Length: " + Str(Len(Info)) + #CRLF$
			Header + "Content-Type: application/x-www-form-urlencoded" + #CRLF$
			Header + "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3" + #CRLF$
			Header + "Cache-Control: no-cache" + #CRLF$
			Header + "Cookie: keep-alive" + #CRLF$ + #CRLF$
			Header + Info + #CRLF$

			SendNetworkString(Cid, Header)
			T = ElapsedMilliseconds() + TimeOUT

			Repeat
				Select NetworkClientEvent(Cid)
					Case 0
						Delay(5)
					Case #PB_NetworkEvent_Data
						R = ReceiveNetworkData(Cid, *Buffer + Pos, MemorySize(*Buffer) - Pos)
						If R > -1
							Pos + R
							If Pos >= 11
								If PeekS(*Buffer + Pos - 11, 11, #PB_UTF8) = "</html>" + #CRLF$ + #CRLF$
									Break
								EndIf
							EndIf
						EndIf
				EndSelect
			Until T < ElapsedMilliseconds()

			If CreateFile(0, GetTemporaryDirectory() + "Buffer.htm")
				WriteData(0, *Buffer, Pos)
				CloseFile(0)
				RunProgram(GetTemporaryDirectory() + "Buffer.htm")
			EndIf
			CloseNetworkConnection(Cid)
		EndIf
		FreeMemory(*Buffer)
	EndIf

EndProcedure
Benutzeravatar
Tur0k
Beiträge: 187
Registriert: 16.02.2009 21:41
Computerausstattung: 4.00 GB RAM, 2x 2.20Ghz, 340GB+500GB

Re: HTTP Request

Beitrag von Tur0k »

Vielen dank, HeX0R! :D
Klappt super.

Ich versuch mal, den Code zu verstehen.

Damit ist das Problem gelöst :) Danke auch an die anderen :D


[Gelöst]
buuh* :D
Antworten