 <p>The main issue you seem to be encountering is that the proxy example you're using requires a POST to update the destination URL you're trying to browse through the proxy. That's why you're not getting any content from the target page, and the error message</p> <pre><code>&lt;div id="error"&gt;Hotlinking directly to proxied pages is not permitted.&lt;/div&gt; </code></pre> <p>I don't know how your code looks like, but it seems like you could use the <a href="http://stackoverflow.com/a/4015346/1519377">HttpWebRequest POST Method</a></p> <pre><code>WebRequest request = (HttpWebRequest)WebRequest.Create("http://www.glype-proxy.info/includes/process.php?action=update"); var postData = "url="+"http://www.example.com"; postData += "&amp;allowCookies=on"; var data = Encoding.ASCII.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); </code></pre> <hr> <p>You're going to need to find or host a proxy that returns the HTML of the page, such as <a href="http://www.glype-proxy.info/" rel="nofollow">http://www.glype-proxy.info/</a>. Even so, in order for a proxy to function correctly, it must change the link to the page's resources to it's own "proxied" path.</p> <pre><code>http://www.glype-proxy.info/browse.php?u=https%3A%2F%2Fwww.example.com%2F&amp;b=4&amp;f=norefer </code></pre> <p>In the URL above, if you want the path to the original resources, you'll have to find all the resources that have been redirected and unencode the path passed in as the <code>u=</code> parameter to this specific proxy. Also, you may wish to ignore additional elements injected by the proxy , in this case the <code>&lt;div id="include"&gt;</code> element.</p> <hr> <p>I believe the proxy you're using works the same way as the "Glype" proxy I used in this example, but I do not have access to it at the time of posting. Also, if you want to use use other proxies, you may want to note that many proxies display the result in an iFrame (probably for XSS prevention, navigation, or skinning).</p> <p><strong>Note:</strong> Generally, using another service outside of a built-in API is a bad practice, since services often get a GUI update or some other change that could break your script. Also, those services could experiences interruptions or just be taken down.</p>