mit proxy kommunizieren
-
Hallo!
Ich wollte ein Programm mit WinAPI schreiben, welches über einen Proxy-Server (Adresse hab ich) auf Internet-seiten/andere server usw. zugreifen kann.
Nu hab ich aber nich so die peilung, wie das geht. Am liebsten würde ichs mit Winsock machen, oder es gibt schon vorgefertigte klassen dafür?
Kann mir jemand kruz erklären, wie das auf die schnell geht, oder wonach ich suchen muss?
-
Steps in a Typical HTTP Client Application:
http://msdn2.microsoft.com/en-us/library/8yh4zs9e.aspxDu musst keine MFC/ATL verwenden, dann kannst Du halt direkt auf die WinInet-Schnittstelle draufgehen...
-
hm... das problem is, dass ich über einen proxy mit telnet mit einem dritten server kommunizieren will. WinINet bietet aber nur ftp, gopher und http an. Wie kann ich es dann machen?
-
Für Telnet gibt es keinen Proxy... es sei denn Du hast einen SOCKS-Proxy...
-
also, ich versuchs ma zu erklären. Ich will von der Schule aus auf einen TelNet-Sever zugreifen. Mit putty geht das nur, wenn ich die IP-Adresse des Schulproxys bei den Proxy-Einstellungen eingebe und HTTP anklicke, sonst kommt auch putty nich drauf. Also dachte ich, dass da ein proxy zwischen stehn muss. Jetzt hab ich so ein Konstrukt gemacht:
sockaddr_in a; a.sin_family = AF_INET; a.sin_port = htons((int)8080); unsigned long ip = inet_addr("192.168.xx.xx"); // IP des Schulservers a.sin_addr = *(in_addr*)&ip; m_sockaddr_in = a; nRet = connect(m_hSocket, (sockaddr*)&a, sizeof(sockaddr)); // bis jetzt gehts gut strcpy(str, "CONNECT http://telnetserver.de/:4711 HTTP/1.1\n"); int s = send(m_hSocket, str, strlen(str), 0); printf("%d bytes gesendet\n", s); // Dann bekomm ich diese Antwort:
HTTP/1.1 403 Forbidden Date: Mon, 05 Dec 2005 06:52:27 GMT Content-Type: text/html Content-Length: 676 Connection: close HTTP/1.1 403 Forbidden Date: Mon, 05 Dec 2005 06:52:27 GMT Content-Type: text/html Content-Length: 676 Connection: close Rec sth! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>403 Forbidden</TITLE> </HEAD> <BODY> <H1>403 Forbidden</H1> <P> Unknown host. <!-- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- --> <HR> APLGW@LISS</BODY> </HTML> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>403 Forbidden</TITLE> </HEAD> <BODY> <H1>403 Forbidden</H1> <P> Unknown host. <!-- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- -- Padding to prevent MSIE from showing his own braindeath error messages! -- --> <HR> APLGW@LISS</BODY> </HTML>
// wenn ich die Adresse so angebe:
CONNECT telnetserver.de:4711 HTTP/1.1dann bringt er mir einen Internal-Server-Error
Was kann ich denn jetzt m,achen?
-
Frag doch den Admin des Proxy-Servers, warum er das nicht kann...
-
braucht der server eine authentifizierung!?
evtl. liegt es daran, error 403 - forbidden. könnte das das problem sein
MfG Mailmaster
-
Die meisten Proxy-Server lassen kein "CONNECT" zu... deswegen auch "Forbidden" sonst würde ja ein "Authentication Required" kommen...
-
kannst du mir mal sagen wo man info's zu proxy authentifizierung herbekommt?
in meiner firma benötigt man das für http abfragen. möchte das dann gerne in meine netzwerkklasse mit integrieren.MfG Mailmaster
-
Warum verwendest Du nicht WinInet? Da ist schon alles drin...
Proxy-Authentication: http://rfc.sunsite.dk/rfc/rfc2617.html
-
danke für deinen rfc link
ich habe einfach mal angefangen eine netzwerkklasse zu schreiben, da mich interessiert hat was man damit alles machen kann. nun wird die eben immer größer und größer und soll nicht nur auf dem standard senden empfangen von daten bleiben. wird für mich eben eine universell einsetzbare klasse, was auch kommt. klar könnt ich die fertigen sachen auch nehmen, aber das wäre ja langweilig
selbermachen, macht den meister :p
und nur so versteht mans auch richtig (wie ich finde)MfG Mailmaster