Этот код работает нормально для меня. Он использует как XMLHTTP, так и MS HTML, поэтому побочные эффекты от компонентов отсутствуют:
Sub xxx()
Dim xhr As New MSXML2.XMLHTTP60
Dim html As New MSHTML.HTMLDocument
With xhr
.Open "GET", "https://www1.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuoteFO.jsp?underlying=BEL&instrument=FUTSTK&type=-&strike=-&expiry=30APR2020#", False
.send
'Debug.Print StrConv(.responseBody, vbUnicode)
html.body.innerHTML = StrConv(.responseBody, vbUnicode)
End With
Debug.Print html.body.innerHTML
Set xhr = Nothing
End Sub
Возможно, проблема не в XMLHTTP. У вас там есть прокси-серверы HTTP? Если IE работает, но XMLHTTP нет, это означает, что IE использует системные настройки для http-прокси, а XMLHTTP - нет. Поэтому вы должны инициализировать его с вашим прокси. У него есть метод setProxy. Кстати, если объект объявлен как новый, вам не нужно повторно инициализировать его с помощью CreateObject:
Dim ie As New InternetExplorer
Set ie = CreateObject("InternetExplorer.Application")