11

How to use http post with proxy support in c# and multipart form data upload method

3 Answers 3

29

This post by Brian Grinstead explains how you can do just that.

For proxy support, you only need to pass a Proxy setting to HttpWebRequest. So, in the above example, you would change:

HttpWebRequest request = WebRequest.Create(postUrl) as HttpWebRequest;

To:

string MyProxyHostString = "192.168.1.200";
int MyProxyPort = 8080;

HttpWebRequest request = WebRequest.Create(postUrl) as HttpWebRequest;
request.Proxy = new WebProxy (MyProxyHostString, MyProxyPort);
Sign up to request clarification or add additional context in comments.

2 Comments

The problem with this approach is it hard codes the proxy address/port into the compiled code.
That can easily be placed anywhere else. I put it in this way to explain the example better.
2

If you need to configue a proxy then you can do so in the .config file:-

<system.net>
  <defaultProxy enabled="true">
    <proxy proxyaddress="http://myproxyserver:8080" bypassonlocal="True"/>
  </defaultProxy>
</system.net>

See this question on form data posting.

5 Comments

http post? webRequest ? what atr you saying?
Sorry thought you we just asking about proxy support, however the largest part of the question is regarding multipart form data.
can i use proxy in some one ex. proxy4free.com/page1.html to http post 189.80.133.186 8080 ??
Don't see why not, assuming you really want to expose your data to any Tom, Dick or Harry that might be running a free proxy server.
"Proxy support ?" What exactly are you asking? The answer describes how you specify a proxy server that classes in System.Net namespace will use.
1

If the web request works fine in your localhost with default proxy and not working in your web server, then you have to set your company's approved proxy and also whitelist the URL you are connecting to from your web application in the web server.

You can mention the proxy settings either in web.config or in code.

<system.net>
  <defaultProxy enabled="true">
    <proxy proxyaddress="http://yourcompanyproxyserver:8080" bypassonlocal="True"/>
  </defaultProxy>
</system.net>

(or)

HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("URL");
wr.Proxy = new WebProxy("companyProxy",Portnumber);
wr.Method = "POST";

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.