• 27.08.2025, 18:18
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

xx_ElBarto

God

proxy protokoll

Sonntag, 29. August 2004, 17:36

also, ich will mit einem c programm ne website über nen proxy server abrufen. verbindung klappt auch, bloß was muss ich dem prox server senden damit er mir die website zurück gibt?

Y0Gi

God

Re: proxy protokoll

Montag, 30. August 2004, 16:58

vermutlich genau das, was du dem webserver senden möchtest. ich empfehle dir außerdem den blick in entsprechende RFCs. proxies an sich haben eigentlich keine eigenen protokolle o.ä., sie sind ja nur ne art repeater und cache.

aber warum machst du das ausgerechnet in C? ne noch viel umständlichere möglichkeit fällt mir partout nicht ein... :)

xx_ElBarto

God

Re: proxy protokoll

Montag, 30. August 2004, 17:44

Zitat von »Y0Gi«

aber warum machst du das ausgerechnet in C? ne noch viel umständlichere möglichkeit fällt mir partout nicht ein... :)

und worin sonst? ;D

also, ich bin nun schon nen stück weiter.
wenn ich nun z.b. "get google.de http/1.0\n" sende bekomme ich immerhin schonmal was zurück, jedoch ist die seite "error 404 - requested url is not valid" seite. jemand ne idee?

programm sieht so aus:

Quellcode

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <windows.h>
#include <winsock2.h>
#include <stdio.h>
#include <string.h>

int startWinsock(void);

int main()
{
  long rc;
  SOCKET s;
  SOCKADDR_IN addr;
  char buf[256];

  rc=startWinsock();

  s=socket(AF_INET,SOCK_STREAM,0);

  memset(&addr,0,sizeof(SOCKADDR_IN));
  addr.sin_family=AF_INET;
  addr.sin_port=htons(80);
  addr.sin_addr.s_addr=inet_addr("200.56.232.57");

  rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));

  while(rc!=SOCKET_ERROR)
  {
      gets(buf);
    send(s,buf,strlen(buf),0);
    rc=recv(s,buf,256,0);
    if(rc==0)
    {
      printf("Server hat die Verbindung getrennt..\n");
      break;
    }
    buf[rc]='\0';
    printf("%s",buf);
  }

  closesocket(s);
  WSACleanup();
  return 0;
}

int startWinsock(void)
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&wsa);
}

pharao

Moderator

Re: proxy protokoll

Montag, 30. August 2004, 18:08

Zitat von »elbarto`«


wenn ich nun z.b. "get google.de http/1.0\n" sende bekomme ich immerhin schonmal was zurück, jedoch ist die seite "error 404 - requested url is not valid" seite. jemand ne idee?


die anfrage ist auch falsch.
wenn du schon mit dem server verbunden bist brauchst du ihm ja nicht mehr seine url sagen.
besser:
GET /index.html HTTP/1.0

edit: sonst sucht der nach "http://www.google.de/google.de (und das gibt's nicht ;) )
Gute work-live-balance ist, wenn man von seinem Privatleben erschöpfter ist als von der Arbeit.

xx_ElBarto

God

Re: proxy protokoll

Montag, 30. August 2004, 18:13

ich bin doch erst mit dem proxy verbunden, der weiß doch noch nix von google.
ich will dem proxy also sagen das er google.de abfragen soll und das dann an mich senden soll

Y0Gi

God

Re: proxy protokoll

Montag, 30. August 2004, 22:48

Quellcode

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python

import urllib

# set proxy
proxies = {'http': '[url]http://www.proxy.de:3128/'}[/url]
url = 'http://www.pr0n.ru/'
f = urllib.urlopen(url, proxies=proxies)
print f.read()

noch fragen? :D

nimm was aus der gegenwart, nicht aus der steinzeit. in aktuellen libs steckt das handwerkszeug für heutige anwendungen - und es ist im gegensatz zu eigenem code umfangreich getestet worden.

"welcome to the _real_ world."

xx_ElBarto

God

Re: proxy protokoll

Montag, 30. August 2004, 23:05

ja, gibts dafür auch ne windows ide? ;D
hab gerade dieses idle ding entdeckt ;D

ps: kann man daraus auch ne exe machen?