[delphi] http reques sturen

Pagina: 1
Acties:

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
goedendag,

ik ben met delphi ff een proggie aan het maken om een http request te sturen naar me server, ik doet dit door een clientsocket te laten connecten op poort 80 van me server en dan met clientsocket.socket.sendtext(string) de http request te sturen. alleen ik weeet niet wat ik in die string moet zetten.. en moet ik nog een crlft(enter) meesturen? weet iemand dat?
ik heb nu dit:
code:
1
clientsocket1.Socket.SendText(memo2.lines.text);

maar wat moet ik dusin memo 2 zetten??

  • HielkeJ
  • Registratie: Juli 2001
  • Niet online
1X niet genoeg?? ;)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

bekijk de HTTP RFC?

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
http://www1.ics.uci.edu/pub/ietf/http/rfc1945.html

daar staat het allemaal (http 1.0 iig)

voorbeeld:
code:
1
2
GET /index.html HTTP/1.0(enter)
(enter)

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Op zaterdag 22 december 2001 21:08 schreef marcusk het volgende:
http://www1.ics.uci.edu/pub/ietf/http/rfc1945.html

daar staat het allemaal (http 1.0 iig)

voorbeeld:
code:
1
2
GET /index.html HTTP/1.0(enter)
(enter)
die enter kan ik die met een '/r/n' doen?

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
\r\n ja

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
als ik met clientscoket1.socket.sentext(text);

GET /index.html HTTP/1.0\r\n

krijg ik geen reactie

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
er moeten ook twee keer "\r\n" achter.

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
hieronder me source, het is een apache 1.3.20 server op een redhat bakkie.

in edit2.text staat nu 'GET /insert.php HTTP/1.0\r\n\r\n'

wat is er verkeerd?, ik krijg geen reactie.. ik krijg alleen een reactie als ik er 1000 stuur dan zegt hij:
HTTP/1.1 414 Request-URI Too Large
Date: Sat, 22 Dec 2001 21:34:37 GMT
Server: Apache/1.3.20 (Unix) PHP/4.0.6
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>414 Request-URI Too Large</TITLE>
</HEAD><BODY>
<H1>Request-URI Too Large</H1>
The requested URL's length exceeds the capacity
limit for this server.<P>
request failed: URI too long<P>
<HR>
<ADDRESS>Apache/1.3.20 Server at 127.0.0.1 Port 80</ADDRESS>
</BODY></HTML>
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure TForm1.Button1Click(Sender: TObject);
begin
clientsocket1.Host := edit1.text;
clientsocket1.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
for  i:=1 to strtoint(edit3.text) do
clientsocket1.Socket.SendText(edit2.text);
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.lines.add(clientsocket1.socket.receivetext)
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
memo1.clear;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if clientsocket1.Active = true then
statusbar1.simpletext:= 'connected'
else
statusbar1.simpletext:= 'disconnected';
end;

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
misschien werkt \r\n niet in delphi? probeer eens met #10#13 (of was het nou #13#10?)

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
de bedoeling van dit proggie is dus om te kijken hoe me servertje er op reageert als ik ineens superveel request vraag van een php pagina die iets uit een mysql db haalt.

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Op zaterdag 22 december 2001 21:40 schreef marcusk het volgende:
misschien werkt \r\n niet in delphi? probeer eens met #10#13 (of was het nou #13#10?)
heeft toch niks met delphi te maken, ik stuur het toch als string mee?? dit gaat toch over me server?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

je moet een linebreak sturen, en dus moet je wel weten wat een linebreak in delphi is

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Op zaterdag 22 december 2001 21:44 schreef wasigh het volgende:
je moet een linebreak sturen, en dus moet je wel weten wat een linebreak in delphi is
ja das je moet toch een character return line break sturen

das toch wel #10#13

clientsocket1.Socket.SendText(edit2.text+#10#13);

zoiets?

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 21:15
Ik ben zelf eens aan het knutselen geweest met Delphi en gebruikte het NMHTTP component van Delphi 6.

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

als je het uit een memo haalt, moet je in je memo dus twee enters geven!

en ehm:

(LEES DE HTTP RFC) == (RTFM).

dus bij deze.

Localhost, sweet localhost


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Voordat je de hele RFC gaat doorwerken: er zijn mensen je voor geweest en hebben het in een Delphi component gegoten, zie Indy (zit standaard bij Delphi 6 Enterprise): http://www.nevrona.com/Indy/

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Als we dan toch bezig zijn met standaardcomponentjes gaan gooien, Ik heb veel gedaan met ICS http://overbyte.alexid.fr/frame_index.html

Die wordt ok het meest gebruikt gebruikt, omdat de Netmaster compontentjes in D5 noggal buggy waren.

Localhost, sweet localhost

Pagina: 1