Posts Tagged VBScript

Use ServerXMLHTTP through a proxy

The other day, I was trying to use the ServerXMLHTTP object. For information, this object was created to allow you to establish server-to-server HTTP connections.

The code I firstly wrote looked like the following:

Dim oXMLHTTP
Set oXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
oXMLHTTP.open "POST", sURL, false
oXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXMLHTTP.send sParams
Response.Write oXMLHTTP.responseText

with sURL the URL to call and sParams the parameters to send with the URL.

The problem was that oXMLHTTP.responseText didn’t return anything. Or to be exact, it returned an empty string, which was obviously not the expected response… πŸ™

After some investigation, it appeared that the problem was because the server was seating behind a proxy. All this is good and well, but the question now is how to tell the application to use the proxy?

First of all, the ServerXMLHTTP object has a setProxy method:
http://msdn.microsoft.com/en-us/library/ms760236(v=VS.85).aspx
So I tried to add the following line to the previous code:

oXMLHTTP.setProxy 2, "myProxyServer:80", ""

Unfortunately, this didn’t fix the problem. It looks like this line is simply ignored. If somebody knows why, please tell me! πŸ˜‰

So the solution I finally adopted was to configure the proxy through the proxycfg tool.
There are two ways of using this tool:

  • Import the proxy settings from the current user’s Microsoft Internet Explorer manual settings using the command proxycfg.exe -u
  • Configure the proxy settings manually using the command proxycfg -p myProxyServer:80

This last solution works for me and I hope it will help a few people. πŸ™‚

PS: I found the following page when writing this article: http://support.microsoft.com/kb/289481/. It would have been so good to find it during my investigation but anyway.

, , ,

4 Comments

Image manipulation in VBScript

I am back on Windows development. It is not what I prefer but still, it is development so I am right here! πŸ˜‰

My task was to upload an image from a website (nothing difficult there) but the application has to resize and crop the uploaded image before saving it on the hard drive in order to save space.
Oh, and I forgot to mention that the website is built in VBScript (it would have been too easy if it has been built in ASP.Net…). πŸ™„

I went across a lot of image management libraries which work with VBScript during my search:

But I must admit that the most difficult part of this task was to find a good and FREE library.
The one I finally picked is ImageMagick.

Once the library is installed (click here to go to the download page), you can use the following code to resize the image to a maximum of 800 pixels and crop the white space around it:

Dim imageMagick
Set imageMagick = CreateObject("ImageMagickObject.MagickImage.1")

imageMagick.Convert "C:/testimage.jpg", "-fuzz", "10%", "-trim", "-resize", "800x800>", "C:/thumb-testimage.jpg"

Obviously, this tool can do much more than that, but this will be subject of another topic.
Or you can simply read the documentation: http://www.imagemagick.org/Usage/

, ,

1 Comment