THanks you, can you please let me know what optimization I have to make.

  con.setRequestProperty("Referer", request.getHeader("Referer"));

was the issue , since it was being set to null


On Mon, Nov 11, 2013 at 7:38 AM, Christopher Schultz <
ch...@christopherschultz.net> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Vicky,
>
> On 11/11/13, 10:02 AM, vicky b wrote:
> > I am  getting server returned http response code 400  when  i run
> > below code from my tomcat however it works fine when i run it in
> > WAS whch has proxy server   settings.
> >
> > URL url = new URL(reqUrl); HttpURLConnection con =
> > (HttpURLConnection)url.openConnection(); con.setDoOutput(true);
> > con.setRequestMethod(request.getMethod());
> > if(request.getContentType() != null) {
> > con.setRequestProperty("Content-Type", request.getContentType());
> > } con.setRequestProperty("Referer", request.getHeader("Referer"));
> > int clength = request.getContentLength(); if(clength > 0) {
> > con.setDoInput(true); InputStream istream =
> > request.getInputStream(); OutputStream os = con.getOutputStream();
> > final int length = 5000; byte[] bytes = new byte[length]; int
> > bytesRead = 0; while ((bytesRead = istream.read(bytes, 0, length))
> > > 0) { os.write(bytes, 0, bytesRead); } } else {
> > con.setRequestMethod("GET"); } out.clear(); out =
> > pageContext.pushBody(); OutputStream ostream =
> > response.getOutputStream(); System.out.println(" finished
> > getOUTputsteram"); response.setContentType(con.getContentType());
> > InputStream in = con.getInputStream(); final int length = 5000;
> > byte[] bytes = new byte[length]; int bytesRead = 0; while
> > ((bytesRead = in.read(bytes, 0, length)) > 0) {
> > ostream.write(bytes, 0, bytesRead); }
>
> So you have a quick-and-dirty proxy servlet, right?
>
> There are a number of optimizations, etc that you should probably
> make, but none of the above code uses any Tomcat code (other than
> fetching information from the incoming request, which presumably works
> correctly).
>
> It looks like you are getting a 400 from the server your code is
> contacting. Have you looked at the request that is actually being sent?
>
> Under what conditions do you get a 400 response? I see you are
> unconditionally setting con.setDoOutput(true) even if you don't intend
> to send any data. You conditionally call setDoInput which doens't make
> a great deal of sense. I think you have these two calls reversed in
> your head.
>
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.15 (Darwin)
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQIcBAEBCAAGBQJSgPnjAAoJEBzwKT+lPKRYg7QP/2DIfwXWl/d5XTXxLwn637H7
> voM3qF26zyoObW5F/Z2TmTDnidmTb/D4PSn/ZE+1cKJcbgBWoY36fJ+MFaAXhptf
> 5MQet22E7xCUWs0n9Y9QbcPA7J5ZaGDap4O3ukW5C8O4/+vPkkNnjlIycNRa/P+/
> UvfvZVxVeZR2xioar4L81gr0CgBzCALUjCPQ5pLqh14NOMzl9nfNbxmkCUvQYpGa
> YpWmVhF7QKuv08fJxNLzEzjuZS+gQZn1SdqaMWoO3ebUrWMIpNiiv/xZC/oJInIT
> qfxvDrRpRpzzbhIWUwdfj4PzXHDJz0OlUVN5UzDY0WocDMddN1QeaRuQaZQnLpsK
> Cy27E8wWJrATd4vdki7FteQCIyZBPB6A/sBy0nKSArvn13uGowcdgPpTsc+sW5hP
> GxRiohnpH9vWj2IMDSuBtnnipDp/+f7JsvjQqOQ2Pmw2Zs6BwCAG8v7ufDFil6Lj
> NDhIPJ7FFeCmso+DeWItmBQq7iQV7mQaZ9DKhS9y/1hd0ZF/kqTv5KgKzpu12BTE
> 2GauCWxIt9qiCuVgNEpp4cEsV4sptxV+XI4k5DtFVB0EMcX9gGVNYjxJSQP/4efG
> tjgA6jG2Ea/YM2KU2cJu0F2mFL3qKr3Vh47K5NE+mHtFMhrygz8nH5zX+s9nvF6F
> 5vrRBravwnLLOk/ZGOU2
> =Zxr5
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>


-- 



*Thanks & Regards Vickyb*

Reply via email to