Sponsored Content
Top Forums Programming Sending and Receiving data between Client, HTTP Proxy, and Remote Server Post 302639977 by shubham92 on Sunday 13th of May 2012 11:36:17 PM
Old 05-14-2012
Sending and Receiving data between Client, HTTP Proxy, and Remote Server

I am having problems receiving data from a remote server. It seems that I can send an HTTP request to any host such as http://www.google.com, but I can't get a reply.
I'm sending the host a HTTP 1.0 request that is formatted as such:

GET / HTTP/1.0
Host: http://www.google.com
Connection: close

Here are is part of the proxy code:

Code:
        //Parse Request Buffer
        HttpRequest req;
        req.ParseRequest(request.c_str(), request.length());

        //Format Data to be Sent:
        req.AddHeader ("Connection", "close");  // add connection close headers
        req.SetVersion ("1.0");                 // set http 1.0 flag
        char *requestBuf = new char [req.GetTotalLength()];
        req.FormatRequest(requestBuf);

        //Get host IP by name
        struct hostent *host;
        host = gethostbyname(req.GetHost().c_str());

        //Setup remote address structure
        struct sockaddr_in remoteAddr;
        remoteAddr.sin_family = AF_INET;	 
        remoteAddr.sin_port = htons(req.GetPort());   
        remoteAddr.sin_addr = *((struct in_addr *)host->h_addr);

        //create new socket for remote server
        int remoteSock = socket(AF_INET, SOCK_STREAM, 0);
        if(remoteSock < 0)
        {
                perror("Socket Error");
                //return -1;
        }

        //connecting to remote server
        if(connect(remoteSock, (struct sockaddr *)&remoteAddr, sizeof(remoteAddr)) < 0)
        {
                perror("Connect Error");
                //return -1;
        }

        cout.flush() << requestBuf << endl;
        //send request to remote server
        if(send(remoteSock, requestBuf, sizeof(requestBuf), 0) < 0)
        {
                perror("Write Error");
                //return -1;
        }

        //receive reply from server
        char *recBuf = new char [1024];
        int bufSize = 1024;
        int readSize;
        
        while(1)
        {
                readSize = read(remoteSock, recBuf, bufSize);   //Read from Remote Server
                cout.flush() << recBuf << endl;
                if(readSize <= 0)       //If the requestBuf not filled, nothing left to send to client
                        break;
                write(clientSock, recBuf, readSize);            //write reply to Client

        }

        close(remoteSock);

The cout.flush() of recBuf outputs nothing.<br>
Any ideas on whats going on?
 

9 More Discussions You Might Find Interesting

1. Programming

sending file from server to client

hi dear i m very new to socket programing . i need the source code which sends file from server to client . i mean both server n client programe which sends file . can u do this for me please my email id is email id removed regards bilal (1 Reply)
Discussion started by: bilal
1 Replies

2. Shell Programming and Scripting

Proxy server/client in Perl

I have been toying with a Proxy client/server app that will listen on the CLIENT system on lets say port 7070. User's browser proxy setting is configured for "localhost" port "7070". When this proxy app gets a request for a URL it should FETCH the URL and display it on the browser. I... (1 Reply)
Discussion started by: Dabheeruz
1 Replies

3. UNIX for Dummies Questions & Answers

Is it possible for a server to be both a remote and client SSH host?

Hi, Not sure if this is possible, I have a server (SERVER1) that is currently set up as a remote SSH host. My client SSH host (SERVER2) is connecting to SERVER1 to scp a file with no password. I now have a need to set up a third server (SERVER3) as a remote SSH host and I need SERVER1 as a... (4 Replies)
Discussion started by: tatchel
4 Replies

4. IP Networking

UDP Server/Daemon for receiving & acknowledging data

I'm looking for a couple high level pointers to writing a UDP server that will be acknowledging data at a rate of approximately twelve packets every second and will be running on and older but more or less dedicated Solaris 9 box. Acknowledging the data packets is relatively simple, after... (2 Replies)
Discussion started by: allbread
2 Replies

5. UNIX for Dummies Questions & Answers

Sending commands to a remote server

Hi I have managed to connect to a remote server via ssh, but nothing will actually send through to the remote server screen through my script...it waits until i am back to the main terminal before it outputs anything. Can anyone tell me how to get commands to send through to the remote server?... (4 Replies)
Discussion started by: Hopper_no1
4 Replies

6. Programming

sending http url through http socket programming..

hi am senthil am developing a software to send and receive SMS using HTTP connection first of all am forming a URL and sending that URL to a remote server using my Client Program i send that url through Socket(using Send() Function) if i send more than one URL one by one using the same... (0 Replies)
Discussion started by: senkerth
0 Replies

7. Shell Programming and Scripting

sending http url through http socket programming..

hi am senthil am developing a software to send and receive SMS using HTTP connection first of all am forming a URL and sending that URL to a remote server using my Client Program i send that url through Socket(using Send() Function) if i send more than one URL one by one using the same... (4 Replies)
Discussion started by: senkerth
4 Replies

8. Shell Programming and Scripting

SIMPLE HTTP PROXY SERVER CHECKER (Completed)

Simple Http Proxy Server Checker Script with curl mirror proxies-scripts/proxc at master * Anoncheg1/proxies-scripts * GitHub output in terminal HTTP, HTTP Connect (HTTPS not supported) command line: proxc filename where filename is file like 119.110.69.185:8080 119.235.16.41:8080... (4 Replies)
Discussion started by: 654321
4 Replies

9. IP Networking

Ssh to remote access point http server

I need to do some remote administration to an access point that is sitting behind a firewall that only has ssh enable from the outside but http/https from the inside. So to be a bit clearer: remote(outside firewall) ssh --> ssh-server(internal) --> access point(http/https) Ultimately... (3 Replies)
Discussion started by: metallica1973
3 Replies
HTTP::Proxy::BodyFilter::htmltext(3pm)			User Contributed Perl Documentation		    HTTP::Proxy::BodyFilter::htmltext(3pm)

NAME
HTTP::Proxy::BodyFilter::htmltext - A filter to transmogrify HTML text SYNOPSIS
use HTTP::Proxy::BodyFilter::tags; use HTTP::Proxy::BodyFilter::htmltext; # could it be any simpler? $proxy->push_filter( mime => 'text/html', response => HTTP::Proxy::BodyFilter::tags->new, response => HTTP::Proxy::BodyFilter::htmltext->new( sub { tr/a-zA-z/n-za-mN-ZA-M/ } ) ); DESCRIPTION
The HTTP::Proxy::BodyFilter::htmltext is a filter spawner that calls the callback of your choice on any HTML text (outside "<script>" and "<style>" tags, and entities). The subroutine should modify the content of $_ as it sees fit. Simple, and terribly efficient. METHODS
The filter defines the following methods, called automatically: init() Ensures that the filter is initialised with a CODE reference. begin() Per page parser initialisation. filter() A simple HTML parser that runs the given callback on the text contained in the HTML data. Please look at HTTP::Proxy::BodyFilter::htmlparser if you need something more elaborate. SEE ALSO
HTTP::Proxy, HTTP::Proxy::BodyFilter, HTTP::Proxy::BodyFilter::htmlparser. AUTHOR
Philippe "BooK" Bruhat, <book@cpan.org>. COPYRIGHT
Copyright 2003-2005, Philippe Bruhat. LICENSE
This module is free software; you can redistribute it or modify it under the same terms as Perl itself. perl v5.12.4 2011-07-03 HTTP::Proxy::BodyFilter::htmltext(3pm)
All times are GMT -4. The time now is 06:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy