Jump to content

Archived

This topic is now archived and is closed to further replies.

paultfh

Connecting through a proxy

Recommended Posts

What I am trying to do is connect to my newshost (unlimited.newshosting.com(63.218.45.254 port is 119)) to download usenet headers for my site.After sending a whitelist request to Godaddy, they replied with this:

[quote]Thank you for your email. Applications that need to make https connections (port 443) will need to be made "proxy aware". This will require additional coding to varying degrees, depending on the application. You will need to know the ip address and port of the proxy server in order to correctly modify your code. The ip of the proxy server is 64.202.165.130 and connections will be made on port 3128.

You will need to use this when coding with PHP:
curl_setopt ($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt ($ch, CURLOPT_PROXY, http://64.202.165.130:3128);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);[/quote]

I'm not sure how I go about this.

Share this post


Link to post
Share on other sites
The code:

My code:
[quote] function connect() {

//connect to server
echo "Connecting to {$this->server}\n";
$this->nntp = new Net_NNTP;
$ret = $this->nntp->connect($this->server,$this->port,$this->account,$this->password);
if(PEAR::isError($ret)) {
echo "Cannot connect to server\n";
exit;
}

}
[/quote]

Connect code:
[quote]    /**
    * Connect to the specified port. If called when the socket is
    * already connected, it disconnects and connects again.
    *
    * @param $addr string IP address or host name
    * @param $port int TCP port number
    * @param $persistent bool (optional) whether the connection is
    *        persistent (kept open between requests by the web server)
    * @param $timeout int (optional) how long to wait for data
    * @access public
    * @return mixed true on success or error object
    */
    function connect($addr, $port, $persistent = null, $timeout = null) {
        if (is_resource($this->fp)) {
            @fclose($this->fp);
            $this->fp = null;
        }
       
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $addr.':'.$port);
        curl_setopt ($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt ($ch, CURLOPT_PROXY, "http://64.202.165.130:3128");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

        if (strspn($addr, '.0123456789') == strlen($addr)) {
            $this->addr = $addr;
        } else {
            $this->addr = gethostbyname($addr);
        }
        $this->port = $port % 65536;
        if ($persistent !== null) {
            $this->persistent = $persistent;
        }
        if ($timeout !== null) {
            $this->timeout = $timeout;
        }
        $openfunc = $this->persistent ? 'pfsockopen' : 'fsockopen';
        $errno = 0;
        $errstr = '';
        if ($this->timeout) {
            $fp = $openfunc($this->addr, $this->port, $errno, $errstr, $this->timeout);
        } else {
            $fp = $openfunc($this->addr, $this->port, $errno, $errstr);
        }
       
        if (!$fp) {
            return $this->raiseError($errstr, $errno);
        }

        $this->fp = $fp;
       
        return $this->setBlocking($this->blocking);
    }
[/quote]

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.