• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2787
  • Last Modified:

MSXML2.ServerXmlhttp.6.0 Error

Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.Open  "GET", "http://www.google.com", False,userid,password
http.Send
WScript.ECHO http.ResponseText

The above code creating error as below
The server name or address could not be resolved

But this is working with MSXML2.XMLHTTP
0
JayeshIyer
Asked:
JayeshIyer
  • 4
  • 2
1 Solution
 
RobSampsonCommented:
I'm not sure that would work with Google.  Using a username and password implies you should be querying the HTTPS protocol instead of HTTP, but it may also be expecting a different URL to authenticate against.

On the other hand, if it's not resolving, are you behind a proxy that might be stopping it from reaching the URL?

If so, can you try the code from a direct link with no proxy?  Or you can try adding this:
http.setProxy 2, "myproxyserver:8080"
http.setProxyCredentials "MyUserName", "myPassword"

before the GET call.

Rob.
0
 
RobSampsonCommented:
There's also a good article on MSDN for troubleshooting such code here:
http://blogs.msdn.com/b/jpsanders/archive/2008/06/25/troubleshooting-code-that-uses-the-http-protocol.aspx

Rob.
0
 
JayeshIyerAuthor Commented:
Thanks rob for your comments.
This worked for the above code.

Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.Open  "GET", "https://jazz.visteon.com:9443/ccm", False,userid,password
http.setProxy 2,  "136.17.0.7:83"
http.setProxyCredentials username, password
http.Send
WScript.ECHO http.ResponseText

But when i am using different url the below error is comming


Network Error (tcp_error)
Communication error
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
RobSampsonCommented:
Again, I'd make sure you can access that through the proxy, and try running the script from the same authorised user account as well.
0
 
JayeshIyerAuthor Commented:
Yes rob i tried without proxy settings.then it gives the below error

A connection with the server could not be established.
0
 
RobSampsonCommented:
Hmmm, I guess some sites may require that you send specific headers with the request. There is code here that may help:
http://zanstra.home.xs4all.nl/inTec/ServerXMLHTTP.htm

I have put it with your current code to see what happens.

Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.Open  "GET", "https://jazz.visteon.com:9443/ccm", False,userid,password
http.setProxy 2,  "136.17.0.7:83"
http.setProxyCredentials username, password
http.setOption 2, 13056
http.setRequestHeader "Authorization", "Basic " & Base64Encode(userid & ":" & password)
http.Send
WScript.ECHO http.responseText

Function Base64Encode(inData)
'ripped from: 
'http://www.pstruh.cz/tips/detpg_Base64Encode.htm
  'rfc1521
  '2001 Antonin Foller, PSTRUH Software, http://pstruh.cz
  Const Base64 = _
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
  Dim sOut, I
  
  'For each group of 3 bytes
  For I = 1 To Len(inData) Step 3
    Dim nGroup, pOut
    
    'Create one long from this 3 bytes.
    nGroup = &H10000 * Asc(Mid(inData, I, 1)) + _
      &H100 * MyASC(Mid(inData, I + 1, 1)) + _
      MyASC(Mid(inData, I + 2, 1))
    
    'Oct splits the long To 8 groups with 3 bits
    nGroup = Oct(nGroup)
    
    'Add leading zeros
    nGroup = String(8 - Len(nGroup), "0") & nGroup
    
    'Convert To base64
    pOut = Mid(Base64, CLng("&o" & Mid(nGroup, 1, 2)) + 1, 1) + _
      Mid(Base64, CLng("&o" & Mid(nGroup, 3, 2)) + 1, 1) + _
      Mid(Base64, CLng("&o" & Mid(nGroup, 5, 2)) + 1, 1) + _
      Mid(Base64, CLng("&o" & Mid(nGroup, 7, 2)) + 1, 1)
    
    'Add the part To OutPut string
    sOut = sOut + pOut
    
  Next
  Select Case Len(inData) Mod 3
    Case 1: '8 bit final
      sOut = Left(sOut, Len(sOut) - 2) + "=="
    Case 2: '16 bit final
      sOut = Left(sOut, Len(sOut) - 1) + "="
  End Select
  Base64Encode = sOut
End Function

Function MyASC(OneChar)
  If OneChar = "" Then MyASC = 0 Else MyASC = Asc(OneChar)
End Function

Open in new window


Or, if the certificate isn't quite right, you can try this to ignore certificate errors:
Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.Open  "GET", "https://jazz.visteon.com:9443/ccm", False,userid,password
http.setProxy 2,  "136.17.0.7:83"
http.setProxyCredentials username, password
http.setOption 2, 13056
http.Send
WScript.ECHO http.responseText

Open in new window


Rob.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now